380 Commits

Author SHA1 Message Date
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 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 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 22fd70a4aa Refactor: split syscall definitions into separate source files 2020-01-07 02:37:36 +02:00
Mark bc1ab6776c Add waitpid syscall 2020-01-05 14:44:07 +02:00
Mark 30078e18e6 Faster CVGA console 2020-01-05 02:32:22 +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 1e3b890115 Fix a problem with root vnode in tarfs 2020-01-04 20:26:12 +02:00
Mark 7df7f9cbe4 Added reboot syscall (linux-like) 2020-01-04 19:09:49 +02:00
Mark c5875c4639 Scheduler optimization, console optimization (still slow as hell) 2020-01-04 15:29:44 +02:00
Mark dd8564a134 Added a kind-of-working openpty() 2020-01-03 22:13:38 +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 6a03d92882 Added global timer (PIT-backed now) and nanosleep() syscall 2019-12-31 13:01:47 +02:00
Mark 8380cd3155 Crude argument passing, added hex dump as demo program 2019-12-30 17:26:33 +02:00
Mark d005f86b17 Add chdir (working) and getcwd (stub) 2019-12-30 04:26:16 +02:00
Mark 689d0d9534 Fix readdir for ext2 2019-12-30 04:06:16 +02:00
Mark 86b45f4f95 Make ttyX not implement a vnode struct for itself 2019-12-30 02:02:27 +02:00
Mark 164022b8d1 Add pseudo devices 2019-12-30 01:43:40 +02:00
Mark 822aa2c3f0 Add basic devfs 2019-12-30 01:23:29 +02:00
Mark 7c8e11a3ef Better colors 2019-12-29 23:39:52 +02:00
Mark 802642b50a Make non-SMP version work again 2019-12-29 20:10:00 +02:00
Mark 294b6a06e9 Add getpid() syscall. Add abort()/raise() to libc 2019-12-29 16:43:21 +02:00
Mark 2cbd3e65c4 Signals kinda work! 2019-12-29 16:29:16 +02:00
Mark ccc13ef0d5 Add thread cleanup after termination 2019-12-29 14:15:09 +02:00
Mark eae21dc70b Remove acpica compat for __linux__-compilers 2019-12-28 21:51:45 +02:00
Mark 5d8556a317 Add opendir/readdir/closedir (libc), add readdir syscall 2019-12-28 16:57:48 +02:00
Mark d17c1ba115 Added execve() system call 2019-11-05 16:49:18 +02:00
Mark 0f2404cb00 Fix problem with sched_add to nonexistent CPU queues 2019-11-04 13:40:26 +02:00
Mark 0772681210 fork() works 2019-11-04 13:25:33 +02:00
Mark 4ded684f92 Add in_send and ICMP echo request/reply 2019-11-03 14:50:15 +02:00
Mark 05f2838df4 Add UDP reception support 2019-11-02 22:48:38 +02:00
Mark 6082e68bc0 rtl8139: Receive packets 2019-11-01 14:56:31 +02:00
Mark b1ffb2afd9 Add LAPIC Timer calibration code 2019-11-01 12:27:58 +02:00
Mark 601be56c33 Add a context to IRQ handler so there's no need for globals 2019-11-01 10:32:38 +02:00
Mark 45ad5614a7 Add brk() system call 2019-10-30 12:33:14 +02:00
Mark 1a334aaafb Added errno.h, fixed vfs mapper find() 2019-10-29 15:21:14 +02:00
Mark 69396c1d60 Add open()/stat()/close() syscalls 2019-10-29 14:02:36 +02:00
Mark b02354e766 Merge userspace makefiles 2019-10-29 12:30:20 +02:00