Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | sysexchange: Handle invalid and user-provided Status codes | Himbeer | 2024-07-25 | 1 | -0/+17 | |
| | | | | Fixes #52. | |||||
* | vfs: Alias sysexchange.Result to Result | Himbeer | 2024-07-25 | 1 | -9/+10 | |
| | | | | Fixes #53. | |||||
* | vfs+syscall: Flatten nested control flow | Himbeer | 2024-07-25 | 2 | -138/+147 | |
| | | | | Fixes #54. | |||||
* | vfs: Make callbacks to provide or remove resources optional for DirHooks | Himbeer | 2024-07-24 | 3 | -12/+27 | |
| | ||||||
* | vfs: Require listing implementation for DirHooks | Himbeer | 2024-07-24 | 2 | -1/+6 | |
| | ||||||
* | syscall: Update provideFile signature to new OpenFn-less context system | Himbeer | 2024-07-21 | 1 | -4/+6 | |
| | ||||||
* | vfs: Fix File.closeFn callback not being invoked if the file is provided by ↵ | Himbeer | 2024-07-21 | 1 | -1/+6 | |
| | | | | the kernel (builtin resource) | |||||
* | vfs: Fix File.closeFn callback not being called | Himbeer | 2024-07-21 | 1 | -0/+7 | |
| | ||||||
* | vfs: Don't set FileContext.inner initially but provide FileContext.initializer | Himbeer | 2024-07-21 | 2 | -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 ↵ | Himbeer | 2024-07-21 | 3 | -7/+12 | |
| | | | | | | page table on termination Fixes hanging with high CPU usage on process termination. | |||||
* | process: Increment PID after creating a process | Himbeer | 2024-07-21 | 1 | -0/+2 | |
| | | | | Previously all processes shared the same ID because of this bug. | |||||
* | create_process: Remove duplicate trailing CRLF from hello messages | Himbeer | 2024-07-21 | 2 | -2/+2 | |
| | ||||||
* | create_process: Terminate both programs cleanly | Himbeer | 2024-07-21 | 2 | -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 ↵ | Himbeer | 2024-07-21 | 1 | -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 ↵ | Himbeer | 2024-07-21 | 2 | -4/+4 | |
| | | | | mapped to a status code | |||||
* | resources: Fix zero-length buffer being passed to readHooked | Himbeer | 2024-07-21 | 1 | -6/+35 | |
| | ||||||
* | resources: Fix integer overflow due to using tar files after iteration | Himbeer | 2024-07-21 | 1 | -7/+18 | |
| | ||||||
* | vfs: Get rid of File OpenFn callback | Himbeer | 2024-07-21 | 3 | -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 files | Himbeer | 2024-07-21 | 1 | -14/+53 | |
| | ||||||
* | resources: Fix userinit inode names pointing to undefined stack memory | Himbeer | 2024-07-21 | 2 | -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 kernel | Himbeer | 2024-07-21 | 2 | -9/+27 | |
| | ||||||
* | example: Add create_process example program collection | Himbeer | 2024-07-21 | 5 | -0/+224 | |
| | ||||||
* | resources: Enable user memory access temporarily for /process/create path ↵ | Himbeer | 2024-07-20 | 1 | -1/+6 | |
| | | | | reading | |||||
* | resources: Add /process/self/{id,thread_id} VFS hooks | Himbeer | 2024-07-20 | 1 | -0/+30 | |
| | ||||||
* | resources: Add /process/create VFS hook | Himbeer | 2024-07-20 | 1 | -2/+112 | |
| | ||||||
* | vfs: Add limited abilities to interact with U-mode-provided resources from ↵ | Himbeer | 2024-07-20 | 2 | -15/+32 | |
| | | | | | | within the kernel This is required for VFS-based process creation. | |||||
* | process: Add allowResume convenience function to increment the program ↵ | Himbeer | 2024-07-20 | 1 | -0/+5 | |
| | | | | counter and restore the process to the 'waiting' state | |||||
* | mem: Annotate page_allocator with explicit Allocator type | Himbeer | 2024-07-20 | 1 | -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 methods | Himbeer | 2024-07-20 | 2 | -4/+18 | |
| | ||||||
* | syscall: Replace terminate() with /process/self/terminate VFS hook | Himbeer | 2024-07-17 | 5 | -14/+55 | |
| | ||||||
* | rethooks: Move functions from Container struct(s) into their own file (for ↵ | Himbeer | 2024-07-17 | 2 | -11/+13 | |
| | | | | readability) | |||||
* | vfs: Check for path collisions, performing a reclaim if allowed | Himbeer | 2024-07-17 | 2 | -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 termination | Himbeer | 2024-07-17 | 5 | -24/+113 | |
| | | | | Fixes #42. | |||||
* | process: Deinitialize resource descriptors on termination | Himbeer | 2024-07-17 | 1 | -8/+4 | |
| | | | | Fixes #38. | |||||
* | build: Automate userinit archive creation using the build script | TheodorSmall | 2024-07-17 | 1 | -0/+8 | |
| | | | | Closes #36. | |||||
* | gitignore: Ignore new zig cache location in version 0.13.0 | TheodorSmall | 2024-07-17 | 4 | -0/+4 | |
| | ||||||
* | build: Fix build script for version 0.13.0 | TheodorSmall | 2024-07-17 | 1 | -1/+1 | |
| | ||||||
* | process: Enforce W^X on ELF memory regions | TheodorSmall | 2024-07-16 | 2 | -0/+7 | |
| | | | | Fixes #46. | |||||
* | sbi: Add new error variants INVALID_STATE and BAD_RANGE | TheodorSmall | 2024-07-12 | 2 | -0/+10 | |
| | | | | Fixes #47. | |||||
* | examples: Add vfs_console example program | Himbeer | 2024-07-12 | 4 | -0/+187 | |
| | ||||||
* | resources: Page-translate user buffer before passing it to OpenSBI | Himbeer | 2024-07-12 | 1 | -1/+11 | |
| | ||||||
* | vfs: Fix read and write operations panicking for kernel-provided resources | Himbeer | 2024-07-12 | 1 | -4/+12 | |
| | | | | Fixes #48. | |||||
* | vfs: Check if path search is finished by using path parameter instead of ↵ | Himbeer | 2024-07-11 | 1 | -1/+1 | |
| | | | | incorrect it.last() value | |||||
* | sysexchange: Make all non-zig errors valid Status values | Himbeer | 2024-07-11 | 1 | -0/+156 | |
| | ||||||
* | Revert "resources: Add initial process creation API" | Himbeer | 2024-07-11 | 6 | -211/+10 | |
| | | | | This reverts commit 13da66a7d65c3ab7960bef7f8914c5a09ae2d5bd. | |||||
* | resources: Add console (write-only) at /io/debug | Himbeer | 2024-07-11 | 1 | -4/+37 | |
| | ||||||
* | resources: Add initial process creation API | Himbeer | 2024-07-11 | 6 | -10/+214 | |
| | ||||||
* | kernel: Provide userinit contents at /userinit in the VFS (untested) | Himbeer | 2024-07-10 | 4 | -1/+114 | |
| | ||||||
* | vfs: Support providing sub-resources of dirhooks | Himbeer | 2024-07-10 | 2 | -2/+24 | |
| | ||||||
* | vfs: Implement walking directory hooks | Himbeer | 2024-07-10 | 3 | -65/+119 | |
| | | | | Directory hooks are now treated transparently like regular directories when it comes to looking up subresources by name. |