mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 08:24:32 -08:00
Improve syscalls for new task switching
There are a lot of under the hood changes here: - Move syscalls to be a dispatch table, defined by syscalls.inc - Don't need a full process state (push_all) in syscalls now - In push_all, define REGS instead of using offsets - Save TWO stack pointers as well as current saved stack pointer in TCB: - rsp0 is the base of the kernel stack for interrupts - rsp3 is the saved user stack from cpu_data - Update syscall numbers in nulldrv - Some asm-debugging enhancements to the gdb script - fork() still not working
This commit is contained in:
12
src/kernel/syscalls.inc
Normal file
12
src/kernel/syscalls.inc
Normal file
@@ -0,0 +1,12 @@
|
||||
SYSCALL(noop, 0)
|
||||
SYSCALL(exit, 1)
|
||||
SYSCALL(getpid, 0)
|
||||
SYSCALL(fork, 0)
|
||||
|
||||
SYSCALL(message, 1)
|
||||
|
||||
SYSCALL(pause, 0)
|
||||
SYSCALL(sleep, 1)
|
||||
|
||||
SYSCALL(send, 2)
|
||||
SYSCALL(receive, 2)
|
||||
Reference in New Issue
Block a user