aboutsummaryrefslogtreecommitdiff
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Flatten 'lib' directory into main 'src' treeHimbeer2024-08-0124-2537/+0
|
* Remove userinit entirely, directly embedding the init ELF insteadHimbeer2024-08-012-26/+2
| | | | Closes #69.
* syscall: Fix unaligned arguments to launch() causing a kernel panicHimbeer2024-08-011-2/+3
|
* process: Ensure that ELF doesn't map important kernel memoryHimbeer2024-08-012-13/+12
|
* process: Fix ELF physical allocation overrunHimbeer2024-08-011-14/+25
| | | | Fixes #71.
* paging: Expose offsetOf helper function to other filesHimbeer2024-08-011-1/+1
|
* Revert "syscall: Provide userinit access (permissions controlled via paging ↵Himbeer2024-07-314-17/+1
| | | | | | in the future)" This reverts commit 270c8f02867bf959fa86a44fcb76bb0680571695.
* interrupts: Eliminate unnecessary @bitCastHimbeer2024-07-311-3/+1
|
* sbi/time: Make timer increment more accurate by reading the 'time' register ↵Himbeer2024-07-311-2/+1
| | | | as late as possible
* syscall: Fix processId signature comment return typeHimbeer2024-07-311-1/+1
|
* channel: Implement and fully switch to joined channel receivingHimbeer2024-07-302-24/+35
| | | | | | Unjoined receiving is no longer possible due to complications with whether the unjoined copy should be popped when a joined process receives it. Closes #56.
* channel: Implement joining and leavingHimbeer2024-07-302-17/+89
|
* syscall: Implement basic asynchronous message passing using unbounded ↵Himbeer2024-07-302-0/+79
| | | | channels (#56)
* hwinfo: Fix ByKind.next() error handling / returningHimbeer2024-07-301-4/+3
|
* syscall: Provide HWI devices by kindHimbeer2024-07-301-0/+20
| | | | Closes #59.
* syscall: Provide userinit access (permissions controlled via paging in the ↵Himbeer2024-07-304-1/+17
| | | | | | future) Fixes #69.
* syscall: Correct errorName signature comment code parameter type to u16Himbeer2024-07-301-1/+1
|
* Remove errors that are no longer neededHimbeer2024-07-303-26/+13
|
* syscall: Remove Error.Unimplemented variantHimbeer2024-07-281-1/+0
|
* syscall: Rename ErrorOutOfRange => ErrorCodeOutOfRangeHimbeer2024-07-281-2/+2
|
* syscall: Rename main errorName parameter 'value' => 'code'Himbeer2024-07-281-5/+5
|
* syscall: Fix consoleWrite signatureHimbeer2024-07-271-1/+1
|
* process: Remove unnecessary sfence.vma on terminationHimbeer2024-07-271-2/+0
|
* Console: Use simple unwrapping outside kernel.panic()Himbeer2024-07-271-2/+1
|
* Remove unnecessary importsHimbeer2024-07-274-10/+7
|
* hwinfo: Remove unnecessary newline from enum declarationHimbeer2024-07-271-1/+0
|
* Remove rethooksHimbeer2024-07-273-22/+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-2710-33/+33
|
* Fix import orderHimbeer2024-07-2710-25/+4
|
* 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.