43 Commits

Author SHA1 Message Date
Mark
d7a3ed3ff5 SMP works? 2020-10-04 15:48:11 +03:00
Mark
3b1ca6b978 Sync disks on reboot 2020-07-26 23:12:40 +03:00
Mark
1c2214d912 Remove function declarations from user headers 2020-07-13 21:14:33 +03:00
Mark
25537eeab8 Fix: prevent double queueing of the same thread 2020-07-11 17:50:16 +03:00
Mark
c60ddf21c9 Add (buggy) SIGSTOP/SIGCONT for processes 2020-07-07 21:25:48 +03:00
Mark
ecf4262646 Separate notions of "thread" and "process" 2020-07-05 23:16:10 +03:00
Mark
26bf9f60c0 Integrate new io_notify with waitpid() 2020-03-31 13:04:27 +03:00
Mark
55d2efda8e Reworked how waiting/select()ing FDs works 2020-03-30 18:08:23 +03:00
Mark
22b201c6c0 Add UDP broadcast and setsockopt() 2020-03-20 18:51:22 +02:00
Mark
0ac3074399 Optional debug cycles 2020-02-28 11:58:00 +02:00
Mark
41ae3d7aab Fix ring reader ignoring signals and unqueuing threads twice 2020-02-05 13:28:11 +02:00
Mark
533bc8567a Add linked list structure 2020-02-05 11:38:13 +02:00
Mark
33ad8e3ee3 Fix scheduler lock not being released when handling signals 2020-02-04 23:37:57 +02:00
Mark
3542b73f1a SMP kinda works, fixed malloc race condition
Damn, I totally need to review SMP safety
2020-02-04 14:16:16 +02:00
Mark
d9595c7f62 Change project structure 2020-02-04 12:45:15 +02:00
Mark
897bf87843 Add power button handler (and test SCI) for ACPI 2020-02-03 15:00:40 +02:00
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
68a7241a87 reboot() system call 2020-02-03 13:10:46 +02:00
Mark
818e3d8825 Thread names 2020-02-03 12:47:28 +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
6089df1556 Global thread list, proper kill() implementation, proper signal entry in
sched
2020-01-31 23:35:46 +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
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
71eeb5d282 Remove everything 2019-10-04 16:23:18 +03:00
Mark
dff06deb0f Seems like the problem with syscall/IF is fixed 2019-10-01 17:28:27 +03:00
Mark
47df8cc7ce Move to BSD-ish source tree design 2019-09-23 11:36:15 +03:00