aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* process: Rename ProcessError => Error and Error => ScheduleErrorHimbeer2024-07-032-8/+8
| | | | These names represent their meanings much better.
* kernel: Remove unnecessary space between page table summary columnsHimbeer2024-07-031-10/+10
|
* process: Add threading and driver handler calling infrastructureHimbeer2024-07-035-20/+132
|
* vfs: Fix provideResource adding the resource to a copy of its parent ↵Himbeer2024-07-021-1/+1
| | | | directory rather than the real inode
* vfs: Make root directory a regular nodeHimbeer2024-07-021-5/+5
|
* kernel: Initialize VFS before starting init processHimbeer2024-07-021-0/+4
|
* syscall: Temporarily enable user memory access where necessaryHimbeer2024-07-021-0/+27
|
* process: Handle ELF filesz and memsz mismatches by using the smaller valueHimbeer2024-07-021-2/+2
|
* mem: Fix page allocator allocating 4096 times the amount of memory necessaryHimbeer2024-07-021-1/+2
|
* syscall: Rename null-terminated / C path strings to path_cHimbeer2024-07-021-21/+21
|
* syscall: Make write() bytes parameter constHimbeer2024-07-021-3/+3
|
* syscall: Add read and write for stream resourcesHimbeer2024-07-023-0/+57
|
* syscall: Add close (destroy a resource descriptor using its handle number)Himbeer2024-07-013-11/+15
|
* syscall: Implement opening resourcesHimbeer2024-07-013-13/+60
|
* sysexchange: Split Result(T) returning and frameReturn wrapper creating itHimbeer2024-07-011-15/+26
| | | | Also introduces the unintentionally absent ability to return error sets via a trap frame.
* interrupts: Pass process info to syscall handlerHimbeer2024-07-011-1/+2
|
* vfs: Add resource descriptorsHimbeer2024-07-011-0/+18
|
* syscall: Add provideFile, provideHook and provideDirHook and mkdir stubHimbeer2024-07-012-7/+111
|
* syscall: Add provideStream (provide a VFS stream resource)Himbeer2024-06-303-50/+108
|
* vfs: Populate Stream structHimbeer2024-06-301-1/+7
|
* vfs: Add provideResourceZ C-string-compatible wrapper for provideResourceHimbeer2024-06-301-3/+9
|
* vfs: Fix missing type prefix of Error.NotFoundHimbeer2024-06-301-1/+1
|
* vfs: Add global, POSIX path based interaction with root TreeHimbeer2024-06-301-9/+51
|
* 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
|
* kernel: Remove stray newline between first parameter listing and page table ↵Himbeer2024-06-221-2/+0
| | | | summary
* kernel: Switch to page allocator for the time beingHimbeer2024-06-211-2/+3
| | | | Temporarily fixes #33.
* 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-182-45/+118
|
* 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
|