Commit Graph

353 Commits

Author SHA1 Message Date
Mark b6d2cfb9b3 Better cleanup of dead threads 2020-02-03 13:59:00 +02:00
Mark 32f51f53f0 Backport USB driver + UHCI 2020-02-03 13:40:03 +02:00
Mark e342c62882 Thread cleanup stub 2020-02-03 13:24:52 +02:00
Mark 68a7241a87 reboot() system call 2020-02-03 13:10:46 +02:00
Mark fbdb44b71d Backport ext2 2020-02-03 12:56:53 +02:00
Mark bd023a1873 Console cursor 2020-02-03 12:49:57 +02:00
Mark 818e3d8825 Thread names 2020-02-03 12:47:28 +02:00
Mark 14805828b5 Backport sysfs and random 2020-02-03 12:39:53 +02:00
Mark 4269177c1a execve() arguments 2020-02-03 12:27:46 +02:00
Mark 086447914b brk() and readdir() system calls 2020-02-03 12:16:25 +02:00
Mark 5e23fc4f5c SIGINT from tty, process groups and waitpid() 2020-02-02 13:41:40 +02:00
Mark 6adf9468a4 Make kill() return 0 if sig == 0 and pid is valid 2020-02-01 22:14:56 +02:00
Mark d6ffd57afa Interruptible nanosleep() 2020-02-01 22:08:05 +02:00
Mark 0571a7f12a Bring back more previously available syscalls 2020-02-01 21:11:47 +02:00
Mark b23098c8f2 Add a bunch of headers (stubs) for compat, add getpid() 2020-02-01 00:05:41 +02:00
Mark 6089df1556 Global thread list, proper kill() implementation, proper signal entry in
sched
2020-01-31 23:35:46 +02:00
Mark 0df6daa87f Restructure source files 2020-01-31 22:57:38 +02:00
Mark 4e845d5d5e Backport more old code 2020-01-31 22:18:29 +02:00
Mark 93c8fc0b77 Make sigenter-stored RSP per-thread attribute 2020-01-31 17:25:04 +02:00
Mark f00b5127b9 Cleanup a bit 2020-01-31 17:20:30 +02:00
Mark cb24171e79 Signal entry/exit works (crude) 2020-01-31 16:34:17 +02:00
Mark a5ce69c077 Restore RSP0 properly on syscall exit 2020-01-31 15:20:49 +02:00
Mark cf9c511ff3 Added I/O syscalls (read/write) and ring reading 2020-01-31 11:44:47 +02:00
Mark 6c9949c2af Thread hierarchy, debugging cycles 2020-01-31 10:42:37 +02:00
Mark 69fd9cb6ce Add vfs to it 2020-01-30 20:10:07 +02:00
Mark 5e7dd1f4ed Add sleep, fix NX bit appearing in addresses 2020-01-30 18:10:54 +02:00
Mark f7b337ecd5 Prettify syscalls 2020-01-30 17:41:33 +02:00
Mark cbb39f9d77 Add basic userspace binary execution (ported from older kernel) 2020-01-30 17:29:40 +02:00
Mark f262f9ab6d Remove magic offsets, make thread_current an attribute of cpu 2020-01-30 15:55:19 +02:00
Mark e76f30b6bc Remove testing tasks 2020-01-30 15:45:54 +02:00
Mark e718112e72 Move files a bit, add sys_exit 2020-01-30 15:43:41 +02:00
Mark df4eeefc8f Userspace exec() 2020-01-30 15:16:13 +02:00
Mark 3b4c461c85 Merge thread_init 2020-01-30 14:51:57 +02:00
Mark 8f7d5071e6 Userspace fork seems to work 2020-01-30 14:32:08 +02:00
Mark 1e631fc03a Well, seems to work 2020-01-30 13:24:00 +02:00
Mark fd374087b0 Thread queueing/unqueuing 2020-01-30 12:40:58 +02:00
Mark 603a8064a3 Thread timer-based preemption 2020-01-30 12:07:15 +02:00
Mark 6e9de43a17 Testing sched 2020-01-30 12:00:25 +02:00
Mark 48764261ba Nuke most of the non-essential sources 2020-01-29 22:40:44 +02:00
Mark 3a277167a2 Add CPUID instruction support, NX bit for page tables 2020-01-29 22:24:51 +02:00
Mark bccd620eec Add symbol table handling and debug backtrace 2020-01-29 20:12:52 +02:00
Mark 977ca16f82 Remove magic flags and numbers from mm code 2020-01-29 16:34:00 +02:00
Mark ce7e924535 Fancy error dumps 2020-01-29 15:05:51 +02:00
Mark fe78d497f4 I hate you 2020-01-29 14:24:05 +02:00
Mark 41ac897360 Nuke it all 2020-01-29 14:07:09 +02:00
Mark a221a2a561 Nuke old scheduling code, begin all threads anew 2020-01-28 15:41:33 +02:00
Mark 043c4e7eff Allow IRQs during early initialization 2020-01-28 12:22:17 +02:00
Mark 8ef26b4450 Reenable UHCI driver 2020-01-27 21:56:49 +02:00
Mark 6309d77901 Add support for MSIs 2020-01-27 21:42:49 +02:00
Mark 6a95990b68 Some basic framework for PCI(e) enumeration 2020-01-27 17:53:57 +02:00