summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/syscalls.txt24
1 files changed, 12 insertions, 12 deletions
diff --git a/doc/syscalls.txt b/doc/syscalls.txt
index bb53a45..952b95e 100644
--- a/doc/syscalls.txt
+++ b/doc/syscalls.txt
@@ -1,22 +1,22 @@
-Syscalls pass by int64. The identifier of the called function is in ebx, with
-eax = 0, parameters are in ecx, edx, esi, edi.
+Syscalls pass by int64. The identifier of the called function is in eax,
+parameters are in ebx, ecx, edx, esi, edi.
Syscall list :
-id=ebx Name Parameters Description
+id=eax Name Parameters Description
1 thread_exit none Signal kernel that current thread has finished
2 schedule none Switch to next thread (might be the current one)
- 3 thread_sleep ecx: time (int) msecs Tell kernel to put current thread to sleep
- 4 process_exit ecx: return value (int) Tell kernel to end current process, cleaning up everything
- 5 printk ecx: addr of a string Print a message to screen
- 6 thread_new ecx: entry point Creates a new thread
- edx: data pointer
- esi: stack pointer
- 7 irq_wait ecx: irq number Waits for an IRQ (requires privilege PL_DRIVER)
+ 3 thread_sleep ebx: time (int) msecs Tell kernel to put current thread to sleep
+ 4 process_exit ebx: return value (int) Tell kernel to end current process, cleaning up everything
+ 5 printk ebx: addr of a string Print a message to screen
+ 6 thread_new ebx: entry point Creates a new thread
+ ecx: data pointer
+ edx: stack pointer
+ 7 irq_wait ebx: irq number Waits for an IRQ (requires privilege PL_DRIVER)
8 proc_priv none Returns current process privilege level
- 9 sbrk ecx: size Allocates some memory
- 10 brk ecx: new_end Allocates/frees some memory
+ 9 sbrk ebx: size Allocates some memory
+ 10 brk ebx: new_end Allocates/frees some memory
11 mmap (see linux specs) not implemented
12 munmap (see linux specs) not implemented