diff options
Diffstat (limited to 'doc/syscalls.txt')
-rw-r--r-- | doc/syscalls.txt | 24 |
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 |