mirror of
https://github.com/BoredDevNL/BoredOS.git
synced 2026-05-15 10:48:38 +00:00
refactor: replace syscall if/else chains with dispatch tables
This commit is contained in:
parent
d4b066c29f
commit
b419de43f0
2 changed files with 1675 additions and 1346 deletions
|
|
@ -7,12 +7,13 @@ extern syscall_handler_c
|
||||||
section .text
|
section .text
|
||||||
|
|
||||||
; Syscall ABI:
|
; Syscall ABI:
|
||||||
; RDI = syscall_num
|
; RAX = syscall_num
|
||||||
; RSI = arg1
|
; RDI = arg1
|
||||||
; RDX = arg2
|
; RSI = arg2
|
||||||
; R10 = arg3
|
; RDX = arg3
|
||||||
; R8 = arg4
|
; R10 = arg4
|
||||||
; R9 = arg5
|
; R8 = arg5
|
||||||
|
; R9 = arg6
|
||||||
|
|
||||||
syscall_entry:
|
syscall_entry:
|
||||||
swapgs
|
swapgs
|
||||||
|
|
|
||||||
3010
src/sys/syscall.c
3010
src/sys/syscall.c
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue