aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* sysexchange: Handle invalid and user-provided Status codesHimbeer2024-07-251-0/+17
| | | | Fixes #52.
* vfs: Alias sysexchange.Result to ResultHimbeer2024-07-251-9/+10
| | | | Fixes #53.
* vfs+syscall: Flatten nested control flowHimbeer2024-07-252-138/+147
| | | | Fixes #54.
* vfs: Make callbacks to provide or remove resources optional for DirHooksHimbeer2024-07-243-12/+27
|
* vfs: Require listing implementation for DirHooksHimbeer2024-07-242-1/+6
|
* syscall: Update provideFile signature to new OpenFn-less context systemHimbeer2024-07-211-4/+6
|
* vfs: Fix File.closeFn callback not being invoked if the file is provided by ↵Himbeer2024-07-211-1/+6
| | | | the kernel (builtin resource)
* vfs: Fix File.closeFn callback not being calledHimbeer2024-07-211-0/+7
|
* vfs: Don't set FileContext.inner initially but provide FileContext.initializerHimbeer2024-07-212-6/+8
| | | | This allows file providers to know whether an interaction is the first one made with a specific resource descriptor.
* process: Switch to kernel page table before (potentially) unmapping current ↵Himbeer2024-07-213-7/+12
| | | | | | page table on termination Fixes hanging with high CPU usage on process termination.
* process: Increment PID after creating a processHimbeer2024-07-211-0/+2
| | | | Previously all processes shared the same ID because of this bug.
* create_process: Remove duplicate trailing CRLF from hello messagesHimbeer2024-07-212-2/+2
|
* create_process: Terminate both programs cleanlyHimbeer2024-07-212-0/+18
| | | | This ensures that the second program gets a chance to run instead of the first program causing a kernel panic by returning to null.
* resources: Fix /process/create executable buffer length not being expanded ↵Himbeer2024-07-211-0/+6
| | | | | | after initial resource read It is now possible to start other programs successfully.
* sbi: Rename Unknown error to SbiUnknown to distinguish it from an error not ↵Himbeer2024-07-212-4/+4
| | | | mapped to a status code
* resources: Fix zero-length buffer being passed to readHookedHimbeer2024-07-211-6/+35
|
* resources: Fix integer overflow due to using tar files after iterationHimbeer2024-07-211-7/+18
|
* vfs: Get rid of File OpenFn callbackHimbeer2024-07-213-29/+38
| | | | Context initialization is now left to the provider, allowing the kernel itself to interact with resources of this kind.
* vfs: Support reading and writing filesHimbeer2024-07-211-14/+53
|
* resources: Fix userinit inode names pointing to undefined stack memoryHimbeer2024-07-212-6/+6
| | | | Userinit contents can now be accessed successfully without getting a NotFound error for resources whose names got corrupted.
* vfs: Support opening hooks provided by the kernelHimbeer2024-07-212-9/+27
|
* example: Add create_process example program collectionHimbeer2024-07-215-0/+224
|
* resources: Enable user memory access temporarily for /process/create path ↵Himbeer2024-07-201-1/+6
| | | | reading
* resources: Add /process/self/{id,thread_id} VFS hooksHimbeer2024-07-201-0/+30
|
* resources: Add /process/create VFS hookHimbeer2024-07-201-2/+112
|
* vfs: Add limited abilities to interact with U-mode-provided resources from ↵Himbeer2024-07-202-15/+32
| | | | | | within the kernel This is required for VFS-based process creation.
* process: Add allowResume convenience function to increment the program ↵Himbeer2024-07-201-0/+5
| | | | counter and restore the process to the 'waiting' state
* mem: Annotate page_allocator with explicit Allocator typeHimbeer2024-07-201-1/+1
| | | | This makes it possible to use the allocator in some code locations that would otherwise require local type annotations.
* vfs: Offer low-level readHooked and writeHooked ResourceDescriptor methodsHimbeer2024-07-202-4/+18
|
* syscall: Replace terminate() with /process/self/terminate VFS hookHimbeer2024-07-175-14/+55
|
* rethooks: Move functions from Container struct(s) into their own file (for ↵Himbeer2024-07-172-11/+13
| | | | readability)
* vfs: Check for path collisions, performing a reclaim if allowedHimbeer2024-07-172-0/+18
| | | | | | Fixes #49. Does not apply to directory hooks because of design issues that need to be resolved first.
* process: Detach or orphan provided resources on terminationHimbeer2024-07-175-24/+113
| | | | Fixes #42.
* process: Deinitialize resource descriptors on terminationHimbeer2024-07-171-8/+4
| | | | Fixes #38.
* build: Automate userinit archive creation using the build scriptTheodorSmall2024-07-171-0/+8
| | | | Closes #36.
* gitignore: Ignore new zig cache location in version 0.13.0TheodorSmall2024-07-174-0/+4
|
* build: Fix build script for version 0.13.0TheodorSmall2024-07-171-1/+1
|
* process: Enforce W^X on ELF memory regionsTheodorSmall2024-07-162-0/+7
| | | | Fixes #46.
* sbi: Add new error variants INVALID_STATE and BAD_RANGETheodorSmall2024-07-122-0/+10
| | | | Fixes #47.
* examples: Add vfs_console example programHimbeer2024-07-124-0/+187
|
* resources: Page-translate user buffer before passing it to OpenSBIHimbeer2024-07-121-1/+11
|
* vfs: Fix read and write operations panicking for kernel-provided resourcesHimbeer2024-07-121-4/+12
| | | | Fixes #48.
* vfs: Check if path search is finished by using path parameter instead of ↵Himbeer2024-07-111-1/+1
| | | | incorrect it.last() value
* sysexchange: Make all non-zig errors valid Status valuesHimbeer2024-07-111-0/+156
|
* Revert "resources: Add initial process creation API"Himbeer2024-07-116-211/+10
| | | | This reverts commit 13da66a7d65c3ab7960bef7f8914c5a09ae2d5bd.
* resources: Add console (write-only) at /io/debugHimbeer2024-07-111-4/+37
|
* resources: Add initial process creation APIHimbeer2024-07-116-10/+214
|
* kernel: Provide userinit contents at /userinit in the VFS (untested)Himbeer2024-07-104-1/+114
|
* vfs: Support providing sub-resources of dirhooksHimbeer2024-07-102-2/+24
|
* vfs: Implement walking directory hooksHimbeer2024-07-103-65/+119
| | | | Directory hooks are now treated transparently like regular directories when it comes to looking up subresources by name.