Commit Graph

146 Commits

Author SHA1 Message Date
ededdb2ed9 refactor(userspace): split syscall stubs into arch-agnostic API + arch/riscv backend 2026-10-18 02:19:30 +02:00
570fe22bee feat: userspace round-trip — syscall stubs, ecall dispatch, U-mode entry and exit on QEMU 2026-10-18 02:15:35 +02:00
450d74d07f docs: add ADAPTERS.md with adapter structure, rules, and scaffolding guide 2026-10-18 02:09:56 +02:00
b742f92c0a feat: add scripts/new-adapter.sh to scaffold adapter crates with consistent structure 2026-10-18 02:08:32 +02:00
d327794d33 refactor(adapter-riscv): restructure into hw/, mmu/, trap/ modules with board constants
Add Priority::DEFAULT and TimeSlice::DEFAULT to types crate.
All QEMU virt addresses consolidated in board.rs.
Structure mirrors future adapter-arm/ layout.
2026-10-18 02:05:57 +02:00
66a730b2fe feat(adapter-riscv): IPC demo — two processes exchange a message on QEMU virt 2026-10-18 01:58:18 +02:00
2436061215 feat(adapter-riscv): add RiscVPlatform, PLIC driver, and kernel boot on QEMU 2026-10-18 01:56:18 +02:00
941704bbbc feat(adapter-riscv): add trap handling, timer via SBI, and S/U-mode trap vector 2026-10-18 01:53:37 +02:00
d9de828420 feat(adapter-riscv): add Sv39 page tables with identity mapping and MMU activation 2026-10-18 01:48:00 +02:00
44a0ead7f2 feat(adapter-riscv): boot on QEMU virt with UART hello world 2026-10-18 01:46:47 +02:00
dcadb83088 feat: add Platform::map_shared and wire memory delegation to page mapping 2026-10-18 01:30:23 +02:00
4844b6c2d2 feat(elf): add no_std ELF64 parser for loading process binaries 2026-10-18 01:26:18 +02:00
142505d8a4 feat: add SavedContext::with_entry_and_stack, wire SpawnThread to preserve entry point and stack 2026-10-18 01:24:56 +02:00
4833f2e2bb feat(kernel): add Revoke syscall for generation-based capability revocation 2026-10-18 01:23:24 +02:00
241fefe2d4 refactor(kernel): extract MockPlatform and test helpers into separate modules 2026-10-18 01:16:24 +02:00
192631d506 feat(kernel): implement generation-based capability revocation with proofs and tests 2026-10-18 01:11:24 +02:00
71518a93a4 refactor(proofs): split into per-topic modules with shared helpers across types, domain, and kernel 2026-10-18 01:08:05 +02:00
e5fd6372b3 feat(proofs): add complete mediation, message integrity, and revocation proofs 2026-10-18 01:03:54 +02:00
74bdd1fd08 fix(proofs): replace tautological delegate guard proof with check_cap path verification 2026-10-18 01:01:20 +02:00
1278373142 fix: fix mut binding and unused import warnings in Kani proofs 2026-10-18 00:57:33 +02:00
acc59830ff feat: add Kani proofs for delegation non-escalation across types, domain, and kernel 2026-10-18 00:55:52 +02:00
2c4a9dbadc refactor(kernel): move SyscallOutcome/Result to syscall module, move test helpers to tests module 2026-10-18 00:39:28 +02:00
38ebb6002b refactor(kernel): split syscall.rs into per-tier modules (simple, memory, lifecycle, capability, ipc) 2026-10-18 00:36:34 +02:00
b8c5090fe5 fix(kernel): fix kill wait-queue cleanup, RegionId tracking, ReleasePages ownership, and SwitchTo scheduler state 2026-10-18 00:31:05 +02:00
8912a944b8 feat(kernel): add WaitForInterrupt, AcknowledgeInterrupt, and WaitAny syscalls 2026-10-18 00:26:11 +02:00
e7835c0435 feat(kernel): add Send and Receive IPC syscalls with rendezvous 2026-10-18 00:24:09 +02:00
ae6023081a feat(kernel): add Delegate syscall for capability delegation 2026-10-18 00:22:37 +02:00
07534e52d9 feat(kernel): add SpawnThread, CreateProcess, and Kill syscalls 2026-10-18 00:21:01 +02:00
471d96b9a4 feat(kernel): add RequestPages and ReleasePages syscalls 2026-10-18 00:19:24 +02:00
95c023f286 feat(kernel): add handle_tick and handle_interrupt entry points 2026-10-18 00:17:55 +02:00
74b296a2bf feat(kernel): add Exit and ExitThread syscalls with process cleanup 2026-10-18 00:16:38 +02:00
d0a0ba788f feat(kernel): add Kernel struct, MockPlatform, and simple syscalls (GetTime, GetProcessId, Yield) 2026-10-18 00:15:40 +02:00
8dd36e7d6d refactor(domain): move irq tests to separate file, fix MemoryRegion import in platform 2026-10-17 23:54:16 +02:00
328708ed58 feat(domain): add EndpointTable, IrqRoutingTable, and remaining error variants 2026-10-17 23:51:56 +02:00
ed80fc43a6 feat(domain): add memory module with page pool, per-process tracking, and region table 2026-10-17 23:45:17 +02:00
021b2d83b9 fix(domain): remove all unwrap() from production code in scheduler 2026-10-17 23:40:03 +02:00
c590810fe3 feat(domain): add Message constructor, accessors, and builder 2026-10-17 23:36:44 +02:00
0296776e45 chore: remove old flat process.rs and thread.rs replaced by directories 2026-10-17 23:34:54 +02:00
edb924c27a feat(domain): add MultiCoreScheduler with placement tracking, priority preemption, and load balancing 2026-10-17 23:31:22 +02:00
14b18f7406 feat(domain): add ThreadTable with spawn, get, destroy, and process filtering 2026-10-17 23:29:46 +02:00
6444de69b8 feat(domain): add Thread constructor, accessors, and state machine transitions 2026-10-17 23:28:56 +02:00
42ed5ade29 feat(domain): add ProcessTable with create, get, and destroy 2026-10-17 23:27:28 +02:00
fe0fde7de1 feat(domain): add Process constructor, accessors, and thread slot management 2026-10-17 23:26:14 +02:00
06b51b6712 Implement domain and endpoint modules with capability management, message passing, and scheduling features 2026-10-17 23:09:21 +02:00
667bc7f7f7 Add .DS_Store to .gitignore 2026-10-16 02:33:25 +02:00
bb99c3001d init 2026-10-16 02:32:24 +02:00