Commit Graph

225 Commits

Author SHA1 Message Date
Mark 897bf87843 Add power button handler (and test SCI) for ACPI 2020-02-03 15:00:40 +02:00
Mark 9cc94a4d81 Add legacy PCI configuration space reading for ACPICA compat 2020-02-03 14:31:14 +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 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 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 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 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 e718112e72 Move files a bit, add sys_exit 2020-01-30 15:43:41 +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 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 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
Mark 7920c4dba1 IPI functions for cross-processor messaging, panic now halts the whole
system
2020-01-27 16:22:21 +02:00
Mark 7da9097db8 Nuke old PCI code 2020-01-27 13:35:57 +02:00
Mark 6740da33c3 Add file modes to sysfs, add stat() to sysfs 2020-01-27 13:12:12 +02:00
Mark bfe2999b8a Add snprintf for sysfs buffer writing 2020-01-27 12:59:02 +02:00
Mark c28da05558 ext2 chmod() and chown() 2020-01-27 12:11:55 +02:00
Mark 78e07114b5 Make IDTs per-CPU in SMP, fix SMP problem with APs starting scheduling
too early
2020-01-27 11:40:23 +02:00
Mark 071c37fce9 Remove .access() vnode operation as UID:GID/mode are stored directly in
the vnode itself
2020-01-26 21:06:43 +02:00
Mark 49a2f60c24 Add AHCI SATA write and ext2 file reading 2020-01-26 19:50:46 +02:00