docs: documented syscalls
This commit is contained in:
parent
68d2ef7de4
commit
e92c45394a
|
@ -104,6 +104,38 @@ No detailed Information available (cpu_state null reference)
|
|||
```
|
||||
The `Error Message` could still be helpful, but good luck finding that bug.
|
||||
|
||||
## Syscalls
|
||||
NoxOS will use interrupt based syscalls.
|
||||
To perform a syscall, write its ID into the `rax` register and call interrupt 0x80.
|
||||
|
||||
**Example:**
|
||||
```nasm
|
||||
mov rax, 0x0000
|
||||
int 0x80
|
||||
```
|
||||
|
||||
The syscalls are grouped into groups and their ID consists of a _group-ID_ (first two digits) and a _syscall-ID_ (last two digits).
|
||||
|
||||
### Syscall groups
|
||||
- **Misc** - 0x00
|
||||
- **File** - 0x01
|
||||
- **Proc** - 0x02
|
||||
- **Kernel** - 0xFF
|
||||
|
||||
### Misc Syscalls - `0x00--`
|
||||
|
||||
### File Syscalls - `0x01--`
|
||||
|
||||
### Proc Syscalls - `0x02--`
|
||||
|
||||
### Kernel Syscalls - `0xFF--`
|
||||
The kernel syscalls can only be called by the kernel process and its childs. All other processes, won't be able to use this functions.
|
||||
|
||||
| ID | Name | Description |
|
||||
|--------|-----------------|------------------------------------------------------------------------------------------------------|
|
||||
| 0xFF00 | scheduler_start | Initializes the Kernels main thread from the current cpu_state. This is used to start multithreading |
|
||||
|
||||
|
||||
## Format strings
|
||||
Format strings are strings that are formatted at runtime.
|
||||
They are created by defining a pattern, like the following one:
|
||||
|
@ -220,6 +252,9 @@ This variant is the `%x` standard.
|
|||
This is not a really a placeholder, but you can use this to mask the % sign,
|
||||
so it will be interpreted as just a `%` instead of a placeholder.
|
||||
|
||||
|
||||
##
|
||||
|
||||
---
|
||||
|
||||
**DISCLAIMER:** Only the headers are documented, because documenting the whole code itself would be very time intensive and the headers as 'public' API are the most important to document.
|
||||
|
|
Loading…
Reference in New Issue