Commit Graph

225 Commits

Author SHA1 Message Date
Mark 8b0fe62240 Add read/write syscalls again 2020-01-12 22:59:13 +02:00
Mark d0784e5f4b Userspace init executes again, fixed missing FXSAVE zone in threads 2020-01-12 22:17:15 +02:00
Mark 7ddb53c7a0 Don't run init task longer than needed, remove ethq handler for now 2020-01-12 17:42:48 +02:00
Mark 2aeca31778 Kernel tasks have negative pids 2020-01-12 17:32:12 +02:00
Mark bada9ed786 Rework thread init function a bit 2020-01-12 14:57:06 +02:00
Mark ca1a4d505b Better device node name generation 2020-01-12 13:05:25 +02:00
Mark fa399280fd Add find() and link resolution to VFS 2020-01-12 12:57:31 +02:00
Mark 2e795d2ebf Minimal working vfs refactor 2020-01-10 15:37:54 +02:00
Mark 7272b762c0 Remove comments too 2020-01-10 14:21:44 +02:00
Mark 565f67188a Remove old VFS implementation 2020-01-10 14:09:45 +02:00
Mark f134a72dff Proper FPU initialization, SSE support 2020-01-09 19:55:55 +02:00
Mark a44012cb08 Store FPU context properly with FXSAVE/FXRSTOR 2020-01-09 19:38:20 +02:00
Mark 8d316f3c8b Fix FIFO overflow in rs232 driver 2020-01-09 16:40:28 +02:00
Mark a8d6ad94c8 Add IDE device enumeration, but the driver is focked up 2020-01-09 15:51:46 +02:00
Mark e9e3d323f7 Fix undefined behavior in thread forking 2020-01-09 15:37:47 +02:00
Mark ecf8fe5d46 Add basic urandom device 2020-01-09 15:28:02 +02:00
Mark 9da01f0d46 Merge devfs into dev.c, add stat() 2020-01-09 15:10:22 +02:00
Mark c39c4dca2a Add creat()/unlink()/mkdir() 2020-01-09 13:20:52 +02:00
Mark 9ca8d033a4 AHCI write support 2020-01-09 13:06:21 +02:00
Mark 23dde222fb Moved userspace outside the kernel tree 2020-01-07 16:10:26 +02:00
Mark 22fd70a4aa Refactor: split syscall definitions into separate source files 2020-01-07 02:37:36 +02:00
Mark b323e8c29d Syscall jump table, fix invalid 4th argument handling in libc 2020-01-07 02:15:46 +02:00
Mark 484d177c33 Display working directory in shell 2020-01-06 01:09:46 +02:00
Mark 08d7392046 Detailed ls 2020-01-05 16:06:30 +02:00
Mark aca450c99f Better argument handling 2020-01-05 15:33:27 +02:00
Mark 0ba17d057b Moved reboot outside init sh, fix warnings 2020-01-05 15:05:53 +02:00
Mark cbb1873cbe Move initrd binaries to $(STAGE)/bin 2020-01-05 15:00:34 +02:00
Mark bc1ab6776c Add waitpid syscall 2020-01-05 14:44:07 +02:00
Mark a83f7ddb45 Collect debug information about thread queues 2020-01-05 02:41:31 +02:00
Mark 30078e18e6 Faster CVGA console 2020-01-05 02:32:22 +02:00
Mark 17b8c50931 Start init on any processor instead of 0 2020-01-05 02:13:19 +02:00
Mark 820bb095d9 Fix stack size for idle tasks 2020-01-05 02:12:14 +02:00
Mark 2495d2e705 Process hierarchy + fixed a retarded bug with whole queue reset when
removing a thread
2020-01-05 01:46:29 +02:00
Mark bc26eabff5 Made SMP great again 2020-01-04 20:46:50 +02:00
Mark 1e3b890115 Fix a problem with root vnode in tarfs 2020-01-04 20:26:12 +02:00
Mark 35b93e247f Add support for GPT partitions 2020-01-04 20:11:40 +02:00
Mark 7df7f9cbe4 Added reboot syscall (linux-like) 2020-01-04 19:09:49 +02:00
Mark 091975dd1c Make init execute files from / 2020-01-04 18:41:43 +02:00
Mark c5875c4639 Scheduler optimization, console optimization (still slow as hell) 2020-01-04 15:29:44 +02:00
Mark b8c4917745 30% performance improve by removing idle thread from queue when not
really idle
2020-01-03 23:46:15 +02:00
Mark dd8564a134 Added a kind-of-working openpty() 2020-01-03 22:13:38 +02:00
Mark ce81c6fa9e Output vendor:device for unknown drivers 2020-01-03 02:30:51 +02:00
Mark 90353d19e9 Add config options to control VESA 2020-01-02 22:49:50 +02:00
Mark 5dc3bf9f34 PSF, VESA fbcon support 2020-01-02 19:48:37 +02:00
Mark a47c5f6b9f Remove "extern" declaration in code block 2020-01-02 15:37:46 +02:00
Mark b50781ed2a Changed signal queue to bitmap 2020-01-02 15:20:06 +02:00
Mark bf21f00550 Add clear command 2019-12-31 13:18:17 +02:00
Mark f8b30fee62 Add help 2019-12-31 13:13:38 +02:00
Mark 6a03d92882 Added global timer (PIT-backed now) and nanosleep() syscall 2019-12-31 13:01:47 +02:00
Mark 4b9d6e3303 Rewrite init demos 2019-12-31 00:30:03 +02:00