aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix import orderHimbeer2024-07-2712-27/+4
|
* kernel: Simplify HartData => BootArgs by using sscratch Csr typeHimbeer2024-07-271-15/+8
|
* trap: Make Frame the root structHimbeer2024-07-275-51/+51
|
* syscall: Mark end() noreturnHimbeer2024-07-271-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 => consoleWriteHimbeer2024-07-271-3/+3
|
* paging: Enforce permission checks on in-kernel translationsHimbeer2024-07-272-3/+20
|
* syscall: Turn uprint() into proper console writeHimbeer2024-07-271-6/+8
|
* syscall: Raise page fault if invalid address is passed to uprintHimbeer2024-07-271-2/+7
|
* syscall: Fail on zero address parameter valuesHimbeer2024-07-271-4/+5
| | | | Fixes #63.
* process: Remove infinite scheduling recursion fixmeHimbeer2024-07-271-1/+1
| | | | Suspending is no longer possible and sleeps will eventually end.
* process: Remove 'suspended' state, instead requiring an entry point for ↵Himbeer2024-07-271-7/+7
| | | | thread creation
* syscall: Enable user memory access when launching an ELFHimbeer2024-07-271-0/+3
| | | | Fixes the launch() syscall causing a load page fault.
* process: Fix create() panicking on ELFs smaller than the ELF buffer sizeHimbeer2024-07-271-1/+6
| | | | Fixes #65.
* syscall: Add errorName syscall to convert error code to stringHimbeer2024-07-271-6/+34
|
* paging: Reintroduce setUserMemoryAccess functionHimbeer2024-07-271-0/+6
|
* Move sysexchange frame return logic to trap.Frame methodsHimbeer2024-07-274-43/+33
|
* sysexchange: Simplify kernel-to-user error conversion (#64)Himbeer2024-07-272-277/+24
|
* syscall: Reorder handler functions to match numberingHimbeer2024-07-271-18/+18
|
* syscall: Use std.math.cast instead of checked @truncateHimbeer2024-07-271-5/+4
|
* syscall: Renumber system calls after VFS removalHimbeer2024-07-271-5/+5
|
* process: Remove copyBytes and copyBuffer methodsHimbeer2024-07-272-48/+0
| | | | The message passing implementation will come with a revised memory scheme.
* Remove VFS entirely (#56)Himbeer2024-07-274-897/+1
|
* kernel: Update general panic message to include sepc and stval CSRsHimbeer2024-07-272-8/+18
|
* Rephrase panic messagesHimbeer2024-07-274-25/+20
| | | | Fixes #62.
* syscall: Support termination of other processes or (individual) threadsHimbeer2024-07-272-7/+34
| | | | Closes #57.
* kernel: Remove PCI(e) driverHimbeer2024-07-272-784/+0
| | | | Closes #58.
* kernel: Remove all builtin resources (/userinit) (#60)Himbeer2024-07-272-137/+0
|
* resources: Remove VFS stream /io/debug, use uprint instead (#60)Himbeer2024-07-271-42/+0
|
* syscall: Convert VFS hook /process/create => launch(bytes: ↵Himbeer2024-07-272-152/+16
| | | | [*]align(@alignOf(std.elf.Elf64_Ehdr)) const u8, len: usize) !usize (#60)
* syscall: Restrict processId() and threadId() proc parameter to const pointerHimbeer2024-07-271-2/+2
|
* syscall: Revert VFS hook /process/self/thread_id => threadId() usize (#60)Himbeer2024-07-272-22/+6
|
* syscall: Revert VFS hook /process/self/id => processId() usize (#60)Himbeer2024-07-272-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)Himbeer2024-07-272-19/+9
|
* paging: Mark pages -rw- during zeroed allocation to ensure that reusing a ↵Himbeer2024-07-261-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 fixmeHimbeer2024-07-251-0/+2
|
* vfs: Implement directory (hook) listingHimbeer2024-07-252-23/+98
|
* 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.
* 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
|