Commit Graph

43 Commits

Author SHA1 Message Date
alnyan ff2932d088 WIP: test objects 2025-03-27 23:37:11 +02:00
alnyan d25e1c0346 sys: add abi module to bridge kernel<->userspace 2025-03-27 11:35:03 +02:00
alnyan 0f157caf5c WIP: Make userspace a bit more useful 2025-03-26 21:57:18 +02:00
alnyan 3c27839bff WIP: Add userspace zig program 2025-03-26 18:10:46 +02:00
alnyan 47dbe64814 WIP: Implement system call interface 2025-03-26 16:55:01 +02:00
alnyan b1a59dd42b WIP: Implement thread exit 2025-03-26 15:33:41 +02:00
alnyan e1bd496b8f WIP: Enter kernel tasks via exception return 2025-03-26 14:36:04 +02:00
alnyan f57fd485c5 WIP: Allow userspace to use stack 2025-03-26 14:22:33 +02:00
alnyan 000b434c96 WIP: Userspace entry code for both platforms 2025-03-26 14:09:17 +02:00
alnyan 307d87d6d6 WIP: Add a userspace entry to riscv64 2025-03-25 17:01:11 +02:00
alnyan 7c8dbfbd0f mm: implement a basic virtual memory manager 2025-03-24 23:35:56 +02:00
alnyan 1effc9e76f phys: remove comment about merging bitmap/refcounts 2025-03-24 10:16:54 +02:00
alnyan 1bc326de6d phys: remove struct Page, unused 2025-03-24 10:16:02 +02:00
alnyan bc91b5c07c phys: make reserved/available regions operate on PFNs
Use PFNs instead of raw physical addresses for more clarity.
2025-03-24 10:14:41 +02:00
alnyan 23bb7bb63e lib: implement merge on insert in rangemap 2025-03-24 09:34:59 +02:00
Eugene Rossokha 0785c424b9 btree/rangemap: rename .new to .init 2025-03-24 09:34:59 +02:00
Eugene Rossokha 0a89436d86 phys: use a bitmap to track pages, get the refcounters out 2025-03-22 23:33:53 +02:00
alnyan a97d79d8ca lib: implement RangeMap/BTree 2025-03-20 09:59:26 +02:00
alnyan 734cd7eb0e aarch64: feature parity with riscv64 2025-03-18 22:14:49 +02:00
alnyan 1a8d842479 refactor: we're not writing Java here 2025-03-18 22:14:49 +02:00
alnyan d3e44e5067 sync: Spinlock lock_irqsave() impl 2025-03-18 22:14:49 +02:00
alnyan c0df9d712d maint: better arch.zig 2025-03-18 22:14:49 +02:00
alnyan f85d04d715 Add more entries to .gitignore 2025-03-18 22:14:48 +02:00
alnyan 32b324b132 doc: add some documentation on platform-independent modules 2025-03-18 14:15:05 +02:00
alnyan 500a99832c doc: add "docs" step to build.zig 2025-03-18 14:15:01 +02:00
alnyan 0de39ac75b aarch64: implement exception stubs 2025-03-18 14:14:51 +02:00
alnyan a668443bea dtb: make dtb struct more useful 2025-03-18 14:14:49 +02:00
alnyan 3f79177839 aarch64: physical memory setup 2025-03-18 12:04:50 +02:00
Eugene Rossokha dc7968f92f Rename makeRegister to Register 2025-03-17 23:50:50 +02:00
Eugene Rossokha 64eae5052e Rename Arena.setup to Arena.init 2025-03-17 23:48:57 +02:00
Eugene Rossokha 7a1a088cbc Use std.BoundedArray instead of FixedVec 2025-03-17 23:46:23 +02:00
Eugene Rossokha 883f0db654 Rename translationLevel to TranslationLevel 2025-03-17 23:46:23 +02:00
alnyan 7305ce220a AArch64 basic boot and upper reloc 2025-03-17 23:05:53 +02:00
Eugene Rossokha caec288157 Restrict the target to .freestanding/.none/supported cpu 2025-03-17 20:05:33 +02:00
alnyan aee04d2510 Add aarch64 target 2025-03-17 19:56:43 +02:00
Eugene Rossokha 1641327f28 Make arch/riscv64.zig one struct 2025-03-17 19:15:41 +02:00
alnyan c4a80c3378 Make thread queue per-CPU 2025-03-17 17:54:51 +02:00
alnyan c803a3e2b2 Implement thread-locals for per-CPU data 2025-03-17 17:26:40 +02:00
alnyan 856c7b273e Implement S-mode exceptions 2025-03-17 16:01:12 +02:00
alnyan 4437a66025 Basic physical memory management 2025-03-17 13:36:49 +02:00
alnyan aeb5950e56 Basic thread switching 2025-03-14 22:16:36 +02:00
alnyan bebdb21c4e WIP: WIP, WIP 2025-03-14 13:00:54 +02:00
alnyan 467e4a944a Initial commit 2025-03-13 18:06:14 +02:00