diff options
author | Himbeer <himbeer@disroot.org> | 2024-07-17 23:13:07 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-07-17 23:13:07 +0200 |
commit | 46fa4429ddc39fecf9e925423a5418738b0504cc (patch) | |
tree | 0390e7b730374bd4b8e7464376ef27569bc42aa9 /static | |
parent | d5dfb31d355a02cacdcdeacb2c8a772bb0ff69fb (diff) |
Document SRVRE kernel builtin VFS resources
Diffstat (limited to 'static')
-rw-r--r-- | static/md/srvre/kernel/wiki.md | 2 | ||||
-rw-r--r-- | static/md/srvre/kernel/wiki/vfs.md | 37 |
2 files changed, 38 insertions, 1 deletions
diff --git a/static/md/srvre/kernel/wiki.md b/static/md/srvre/kernel/wiki.md index 3c0da75..92d829f 100644 --- a/static/md/srvre/kernel/wiki.md +++ b/static/md/srvre/kernel/wiki.md @@ -15,7 +15,7 @@ List * [Startup](/md/srvre/kernel/wiki/startup.md) * [userinit](/md/srvre/kernel/wiki/userinit.md) * [Syscalls](/md/srvre/kernel/wiki/syscalls.md) -* [VFS](/md/srvre/kernel/wiki/vfs.md) +* [VFS and builtin resources](/md/srvre/kernel/wiki/vfs.md) * [Errors](/md/srvre/kernel/wiki/errors.md) [Project Page](/md/srvre/kernel.md) diff --git a/static/md/srvre/kernel/wiki/vfs.md b/static/md/srvre/kernel/wiki/vfs.md index b46e891..8bcdfe9 100644 --- a/static/md/srvre/kernel/wiki/vfs.md +++ b/static/md/srvre/kernel/wiki/vfs.md @@ -65,6 +65,43 @@ contained within. Example use cases: Filesystem drivers, network protocols +Builtin resources +================= + +The kernel provides the following builtin resources for providers +and other programs to build upon: + +`/io` +----- + +The `/io` directory provides interfaces for byte-grained, often text-based +communication with the environment the program is running in. + +* `/io/debug`: Write-only access to the debug console, usually provided by the SBI (firmware) + +`/userinit` +----------- + +The `/userinit` directory provides read-only access to the +[userinit](/md/srvre/kernel/wiki/userinit.md) tree. +Its purpose is to make essential drivers and the data required to run them +to the init process. + +* `/userinit/init`: The executable started as the init process. There is nothing special about it internally but it's noteworthy enough to be listed here explicitly. + +`/process` +---------- + +The `/process` directory provides information about as well as control +interfaces to processes and threads, including the caller. + +### `/process/self` + +The `/process/self` subdirectory provides information about as well as control +interfaces to the calling process and thread. + +* `/process/self/terminate`: A [hook](#hook) that terminates the current thread. The extra data is ignored. This is likely to be made more powerful in the future. + Interaction from U-mode ======================= |