aboutsummaryrefslogtreecommitdiff
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* vfs: Make root privateHimbeer2024-06-301-1/+1
|
* vfs: Rename 'default' Tree to 'root'Himbeer2024-06-301-2/+2
|
* vfs: Create type alias for Tree nodesHimbeer2024-06-301-1/+3
|
* vfs: Add Dir and DirHook resource typesHimbeer2024-06-301-8/+16
|
* syscall: Add stubs for VFS interactionHimbeer2024-06-301-0/+59
|
* vfs: Add initial VFS providerHimbeer2024-06-301-0/+59
|
* syscall: Add naive uprint syscallHimbeer2024-06-221-0/+15
|
* mem: Add page allocatorHimbeer2024-06-211-8/+57
| | | | This allocator is more robust than the existing chunk allocator. It is backed by the page-grained allocator and does not support resizing. The CPU and memory overhead is considerably higher.
* mem: Always place chunk header directly before data buffer without alignment ↵Himbeer2024-06-211-3/+11
| | | | padding
* Revert "mem: Fix resizing not accounting for alignment padding between Chunk ↵Himbeer2024-06-211-11/+5
| | | | | | header and data buffer" This reverts commit 88ee047a24518161478dc1f79fb95f3343bc642a.
* process: Handle ELF memory overruns gracefully (return error instead of ↵Himbeer2024-06-211-1/+2
| | | | panicking the kernel)
* process: Combine size emptiness checks into single if-statementHimbeer2024-06-211-2/+1
|
* process: Use ELF PHDR filesz instead of memsz where applicable (checked for ↵Himbeer2024-06-211-2/+4
| | | | consistency)
* mem: Fix resizing not accounting for alignment padding between Chunk header ↵Himbeer2024-06-211-5/+11
| | | | | | and data buffer Fixes #32.
* process: Fix ELF PHDR iteration and memcpy size limitsHimbeer2024-06-191-2/+3
| | | | It is now possible to execute a statically linked freestanding ELF file from the userinit tarball.
* mem: Use correct Chunk header alignment (1)Himbeer2024-06-191-37/+44
| | | | Fixes #30.
* vfs: Add userinit.tar reading (no VFS functionality yet)Himbeer2024-06-181-0/+5
|
* process: Switch to ELF loadingHimbeer2024-06-181-43/+114
|
* syscall: Expect ID to be passed in a7Himbeer2024-06-172-3/+3
| | | | This is consistent with Linux and pk and may help with adding compatibility in the future.
* interrupts: Restore global pointer before entering handleTrapHimbeer2024-06-151-0/+7
|
* process: Use slice instead of multi-item pointer for demo entry pointHimbeer2024-06-131-2/+2
|
* process: Disable interrupts while switching to U-modeHimbeer2024-06-132-3/+10
|
* interrupts: Use .user enum literal for previous_privilege checkHimbeer2024-06-131-1/+1
|
* interrupts: Refactor sstatus retrievalHimbeer2024-06-131-26/+3
|
* paging: Refactor typing of allocated pagesHimbeer2024-06-132-45/+45
|
* process: Bump interrupt timer frequency to 1000 HzHimbeer2024-06-131-1/+1
|
* interrupts: Use kernel trap frame to get correct hart IDHimbeer2024-06-041-24/+21
| | | | Fixes #24.
* panic: Disable and clear all interrupts before using wfiHimbeer2024-06-042-5/+4
| | | | Fixes #16.
* instructions: Represent sstatus CSR in the type systemHimbeer2024-06-042-10/+43
|
* interrupts: Assume successful console outputHimbeer2024-06-041-4/+4
|
* linking: Merge regular sections and their small counterpartsHimbeer2024-05-301-6/+0
| | | | Fixes #22.
* hwi: Make binary format endian-awareHimbeer2024-05-265-10/+18
| | | | Fixes #19.
* paging: Map PCI(e) controller before using itHimbeer2024-05-265-28/+35
|
* hwi: Add QEMUHimbeer2024-05-264-0/+9
| | | | Fixes #21.
* license: Annotate lpi4a HWI and its sourceHimbeer2024-05-232-0/+6
|
* Drop FDT support in favor of custom HWI formatHimbeer2024-05-2318-0/+2624
Fixes numerous parsing bugs and increases efficiency. The kernel now runs successfully on the Lichee Pi 4A.