THIS DOCUMENT IS NOT UP TO DATE
This document describes the kernel API
KERNEL API V1.0 SPECIFICATION
Written by Jarno Van Schoor
RAX: The function being called.
INT 9h: Systemcall
NOTE: In the future each function may have it's own systemcall
0h: quit {
input: RAX = 0h
RBX = Thread ID (0 is a shortcut for the threads own ID)
RCX = 0: kill, 1: normal quit, 2: ask to quit
output: RAX = 0: killed/quit, 1: refused because permissions, 2: refused by app
}
1h: open {
input: RAX = 1h
RBX = App pointer
RCX = Additional permissions pointer
RDX = Parent ID
output: RAX = 0: opened, 1: refused by permissions, 2: parent doesn't exist, 3: app isn't valid
}
2h: idle {
input: RAX = 2h
RBX = Thread ID (0 is a shortcut for the threads own ID)
RCX = 0: force, 1: normal idle, 2: ask to go idle
output: RAX = 0: idle, 1: refused because permissions, 2: refused by app
}
3h: addInterruptHandler {
input: RAX = 3h
RBX = Interrupt (0h means any interrupt)
RCX = Pointer to handler
RDX = overwrite existing?
output: RAX = 0: done, 1: refused because permissions, 2: already exists or no interrupts left
RBX = Interrupt been written to
}
... UNFINISHED