Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix import order | Himbeer | 2024-07-27 | 12 | -27/+4 | |
| | ||||||
* | kernel: Simplify HartData => BootArgs by using sscratch Csr type | Himbeer | 2024-07-27 | 1 | -15/+8 | |
| | ||||||
* | trap: Make Frame the root struct | Himbeer | 2024-07-27 | 5 | -51/+51 | |
| | ||||||
* | syscall: Mark end() noreturn | Himbeer | 2024-07-27 | 1 | -2/+2 | |
| | | | | This has been the case the entire time even before the redesign and is more truthful than a void return type. | |||||
* | syscall: Rename uprint => consoleWrite | Himbeer | 2024-07-27 | 1 | -3/+3 | |
| | ||||||
* | paging: Enforce permission checks on in-kernel translations | Himbeer | 2024-07-27 | 2 | -3/+20 | |
| | ||||||
* | syscall: Turn uprint() into proper console write | Himbeer | 2024-07-27 | 1 | -6/+8 | |
| | ||||||
* | syscall: Raise page fault if invalid address is passed to uprint | Himbeer | 2024-07-27 | 1 | -2/+7 | |
| | ||||||
* | syscall: Fail on zero address parameter values | Himbeer | 2024-07-27 | 1 | -4/+5 | |
| | | | | Fixes #63. | |||||
* | process: Remove infinite scheduling recursion fixme | Himbeer | 2024-07-27 | 1 | -1/+1 | |
| | | | | Suspending is no longer possible and sleeps will eventually end. | |||||
* | process: Remove 'suspended' state, instead requiring an entry point for ↵ | Himbeer | 2024-07-27 | 1 | -7/+7 | |
| | | | | thread creation | |||||
* | syscall: Enable user memory access when launching an ELF | Himbeer | 2024-07-27 | 1 | -0/+3 | |
| | | | | Fixes the launch() syscall causing a load page fault. | |||||
* | process: Fix create() panicking on ELFs smaller than the ELF buffer size | Himbeer | 2024-07-27 | 1 | -1/+6 | |
| | | | | Fixes #65. | |||||
* | syscall: Add errorName syscall to convert error code to string | Himbeer | 2024-07-27 | 1 | -6/+34 | |
| | ||||||
* | paging: Reintroduce setUserMemoryAccess function | Himbeer | 2024-07-27 | 1 | -0/+6 | |
| | ||||||
* | Move sysexchange frame return logic to trap.Frame methods | Himbeer | 2024-07-27 | 4 | -43/+33 | |
| | ||||||
* | sysexchange: Simplify kernel-to-user error conversion (#64) | Himbeer | 2024-07-27 | 2 | -277/+24 | |
| | ||||||
* | syscall: Reorder handler functions to match numbering | Himbeer | 2024-07-27 | 1 | -18/+18 | |
| | ||||||
* | syscall: Use std.math.cast instead of checked @truncate | Himbeer | 2024-07-27 | 1 | -5/+4 | |
| | ||||||
* | syscall: Renumber system calls after VFS removal | Himbeer | 2024-07-27 | 1 | -5/+5 | |
| | ||||||
* | process: Remove copyBytes and copyBuffer methods | Himbeer | 2024-07-27 | 2 | -48/+0 | |
| | | | | The message passing implementation will come with a revised memory scheme. | |||||
* | Remove VFS entirely (#56) | Himbeer | 2024-07-27 | 4 | -897/+1 | |
| | ||||||
* | kernel: Update general panic message to include sepc and stval CSRs | Himbeer | 2024-07-27 | 2 | -8/+18 | |
| | ||||||
* | Rephrase panic messages | Himbeer | 2024-07-27 | 4 | -25/+20 | |
| | | | | Fixes #62. | |||||
* | syscall: Support termination of other processes or (individual) threads | Himbeer | 2024-07-27 | 2 | -7/+34 | |
| | | | | Closes #57. | |||||
* | kernel: Remove PCI(e) driver | Himbeer | 2024-07-27 | 2 | -784/+0 | |
| | | | | Closes #58. | |||||
* | kernel: Remove all builtin resources (/userinit) (#60) | Himbeer | 2024-07-27 | 2 | -137/+0 | |
| | ||||||
* | resources: Remove VFS stream /io/debug, use uprint instead (#60) | Himbeer | 2024-07-27 | 1 | -42/+0 | |
| | ||||||
* | syscall: Convert VFS hook /process/create => launch(bytes: ↵ | Himbeer | 2024-07-27 | 2 | -152/+16 | |
| | | | | [*]align(@alignOf(std.elf.Elf64_Ehdr)) const u8, len: usize) !usize (#60) | |||||
* | syscall: Restrict processId() and threadId() proc parameter to const pointer | Himbeer | 2024-07-27 | 1 | -2/+2 | |
| | ||||||
* | syscall: Revert VFS hook /process/self/thread_id => threadId() usize (#60) | Himbeer | 2024-07-27 | 2 | -22/+6 | |
| | ||||||
* | syscall: Revert VFS hook /process/self/id => processId() usize (#60) | Himbeer | 2024-07-27 | 2 | -28/+20 | |
| | | | | Includes switching to a new return system, allowing syscall handlers to have regular function signatures. | |||||
* | syscall: Revert VFS hook /process/self/terminate => terminate() void (#60) | Himbeer | 2024-07-27 | 2 | -19/+9 | |
| | ||||||
* | paging: Mark pages -rw- during zeroed allocation to ensure that reusing a ↵ | Himbeer | 2024-07-26 | 1 | -1/+10 | |
| | | | | | | page doesn't fault Write access applies to the current page table configured in the SATP CSR and is only granted to S-mode. It can either be overwritten by the caller or be made irrelevant by switching to a different page table, and all allowed accesses are from trusted code anyway. | |||||
* | vfs: Annotate all problematic directory hook usages with fixme | Himbeer | 2024-07-25 | 1 | -0/+2 | |
| | ||||||
* | vfs: Implement directory (hook) listing | Himbeer | 2024-07-25 | 2 | -23/+98 | |
| | ||||||
* | 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. | |||||
* | 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 | |
| |