From 3f353f7bf2e684f38ab6ba8147f506bb1c92a996 Mon Sep 17 00:00:00 2001 From: antifallobst Date: Thu, 20 Apr 2023 17:19:59 +0200 Subject: [PATCH] noxos (docs): defined basic memory syscalls --- content/projects/noxos/docs/sysabi.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/content/projects/noxos/docs/sysabi.md b/content/projects/noxos/docs/sysabi.md index 7d600e5..b4b9ed7 100644 --- a/content/projects/noxos/docs/sysabi.md +++ b/content/projects/noxos/docs/sysabi.md @@ -35,9 +35,10 @@ The following calls should be implemented to some degree in noxos 1.0. **Note:** The _len_ argument of paths isn't used at the moment, rather than using _len_, _path_ needs to be Null-Terminated. ## Memory -| ID | Name | Description | Arg1 | Arg2 | Arg3 | Arg4 | Result | Status | -|-----|------|-------------|------|------|------|------|--------|--------| -| | | | | | | | | | +| ID | Name | Description | Arg1 | Arg2 | Arg3 | Arg4 | Result | Status | +|--------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------|------|------|-------|------|--------|--------| +| 0x0201 | nx_mmap | Maps _n_ 4KB pages to address _addr_. You can provide a bitmap of flags with the _flags_ argument. Which flags can be is described below. | addr | n | flags | | status | N/A | +| 0x0202 | nx_munmap | Unmaps _n_ 4KB pages at address _addr_. | addr | n | | | status | N/A | ## Processes | ID | Name | Description | Arg1 | Arg2 | Arg3 | Arg4 | Result | Status | @@ -73,3 +74,11 @@ If another process calls them, they will just return without doing anything. |-----|---------------|--------------------------------------------|-----------|--------| | 0 | `permissions` | Who has what permission to access the file | uint16_t | N/A | | 1 | `size` | The files size in bytes | uint64_t | N/A | + + +### Memory mapping flags + +| Bit | Name | Description | +|-----|-----------|-------------------------------------------| +| 0 | `write` | Enables write access to the mapped pages. | +| 1 | `no_exec` | Prevents execution of the mapped pages. |