|
My Kernel v0.1.0
|

Macros | |
| #define | SYSCALL_INTERRUPT_NR 0x80 |
| The interrupt number used to trigger a syscall. | |
Enumerations | |
| enum | syscall_nr { SYS_EXIT = 1 , SYS_FORK = 2 , SYS_READ = 3 , SYS_WRITE = 4 , SYS_OPEN = 5 , SYS_CLOSE = 6 , SYS_LSEEK = 19 , SYS_GETPID = 20 , SYS_KILL = 37 , SYS_BRK = 45 , SYS_STAT = 106 , SYS_LSTAT = 107 , SYS_FSTAT = 108 , SYS_SBRK = 463 , SYSCALL_COUNT } |
| The list of available syscall vectors. More... | |
For convenience, our kernel's ABI is the same as Linux's:
The arguments are passed in the following order:
eax, ebx, ecx, edx, esi, edi, ebp
The first argument (eax) is always the number of the syscall to call.
The return value is always stored inside the eax register.
| enum syscall_nr |
To make porting already existing programs easier, our syscall numbers are copied 1:1 from Linux.