aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Console: Use simple unwrapping outside kernel.panic()Himbeer2024-07-272-4/+2
|
* Remove unnecessary importsHimbeer2024-07-274-10/+7
|
* hwinfo: Remove unnecessary newline from enum declarationHimbeer2024-07-271-1/+0
|
* Remove rethooksHimbeer2024-07-275-30/+0
|
* sys_reset: Fix reset function parameters and their usagesHimbeer2024-07-271-4/+4
|
* Remove unnecessary explicit enum valuesHimbeer2024-07-278-59/+59
|
* Rename instructions.zig => riscv.zigHimbeer2024-07-2711-44/+44
|
* 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.
* create_process: Stop declaring a1 as clobber for end() callsHimbeer2024-07-272-2/+2
|
* hello_world: Terminate cleanly (instead of raising an instruction page fault)Himbeer2024-07-271-0/+5
|
* create_process: Add CRLF to console messages (update to raw consoleWrite)Himbeer2024-07-272-2/+2
|
* syscall: Rename uprint => consoleWriteHimbeer2024-07-271-3/+3
|
* hello_world: Add CRLF to console messages (update to raw consoleWrite)Himbeer2024-07-271-1/+1
|
* 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
* create_process: Update from VFS to syscalls, including renumberingHimbeer2024-07-274-32/+28
|
* 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.
* hello_world: Update uprint syscall numberHimbeer2024-07-271-1/+1
|
* 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
|
* examples: Remove obsolete zero_stream and vfs_console example programsHimbeer2024-07-278-445/+0
|
* 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
|