Commit Graph

  • 25824a01fe fix: remove broken QEMU GPU swap hack, add graceful fallback Gabriel Kaszewski 2026-10-18 22:49:55 +02:00
  • cbabe2abfe cleanup: replace magic 1024 page limit with ProcessMemory::DEFAULT_PAGE_LIMIT Gabriel Kaszewski 2026-10-18 22:43:18 +02:00
  • 73eed4e5b7 cleanup: replace magic TimeSlice::new(100) and Priority::new(16) with DEFAULT Gabriel Kaszewski 2026-10-18 22:41:29 +02:00
  • 06863c84fa fix: critical privilege escalation + resource leak hardening Gabriel Kaszewski 2026-10-18 22:39:16 +02:00
  • d009818caf fix: kernel hardening pass 2 — page tracking, queue overflow, region tracking Gabriel Kaszewski 2026-10-18 22:31:16 +02:00
  • ea2ac5d1d9 fix: harden kernel — eliminate UB, proper process cleanup Gabriel Kaszewski 2026-10-18 22:22:48 +02:00
  • 61e28f0af5 fix: sync kernel tests with current API, add CapSlot::const_new Gabriel Kaszewski 2026-10-18 22:17:42 +02:00
  • a3b15e5264 feat: playable snake game via UART terminal rendering Gabriel Kaszewski 2026-10-18 22:08:52 +02:00
  • 27be73f42d feat: wire display + input servers to snake, fix QEMU 11.x GPU bug Gabriel Kaszewski 2026-10-18 21:10:42 +02:00
  • 7c7e3b8748 refactor: apply newtypes throughout userspace API and display types Gabriel Kaszewski 2026-10-18 13:45:40 +02:00
  • 3a0395453b refactor: extract shared hw-virtio crate, eliminate VirtIO protocol duplication Gabriel Kaszewski 2026-10-18 13:29:28 +02:00
  • 8d53fa9ac5 refactor(adapter-riscv): split kmain into boot/, devices/ modules Gabriel Kaszewski 2026-10-18 13:19:16 +02:00
  • 5766c6f7f7 refactor: extract ports/drivers/bins layers — clean dependency inversion Gabriel Kaszewski 2026-10-18 13:13:53 +02:00
  • 38f20cc3c4 feat: proper IPC-based boot — init loads servers from storage via IPC, VirtIO GPU driver Gabriel Kaszewski 2026-10-18 13:02:30 +02:00
  • ffde4065ba fix: full init boot logic works — CreateProcess no longer spawns threads, boot uses out-param to avoid sret bug Gabriel Kaszewski 2026-10-18 04:57:20 +02:00
  • 29cd0e7dfe feat: userspace linker script at 0x10000, proper ELF segment loading, full disk boot pipeline working Gabriel Kaszewski 2026-10-18 04:51:07 +02:00
  • 924baede9e fix(adapter-riscv): fix VirtIO block driver — scan all MMIO slots, handle legacy mode, fix virtqueue layout Gabriel Kaszewski 2026-10-18 04:42:13 +02:00
  • 7649cb0b18 feat: add run() and binary entry points for all servers and init Gabriel Kaszewski 2026-10-18 04:26:42 +02:00
  • d43c6a7e74 feat(adapter-riscv): load init from VirtIO block device with FAT16 filesystem Gabriel Kaszewski 2026-10-18 04:19:19 +02:00
  • a910c06cf7 refactor(adapter-riscv): replace hardcoded demo with proper init launch via ELF parsing Gabriel Kaszewski 2026-10-18 04:13:13 +02:00
  • 41f7e7db10 feat(session-server): add session server for app launching, remove apps from init manifest Gabriel Kaszewski 2026-10-18 04:09:28 +02:00
  • 29434805a6 feat(userspace-rt): add runtime crate with entry point, panic handler, and allocator re-export Gabriel Kaszewski 2026-10-18 04:04:52 +02:00
  • e092fa4ae5 fix: disable test harness for no_std binaries, fix shutdown to best-effort notify-and-halt, use CapSlot newtypes Gabriel Kaszewski 2026-10-18 04:01:39 +02:00
  • 0389c85108 feat(snake): implement snake game with pure game logic, renderer, and IPC-based main loop Gabriel Kaszewski 2026-10-18 04:00:09 +02:00
  • a7913ddeef feat(userspace): add KosAllocator — free-list allocator backed by RequestPages syscall Gabriel Kaszewski 2026-10-18 03:55:58 +02:00
  • f72a434e1a refactor(init): replace raw usize with CapSlot, StorageHandle, PhysicalAddress newtypes throughout supervisor and boot Gabriel Kaszewski 2026-10-18 03:54:07 +02:00
  • 0a2e01bec9 feat(init): implement supervisor with storage-backed restart, binary source tracking, and back-off delays Gabriel Kaszewski 2026-10-18 03:52:07 +02:00
  • 29c3841679 feat(storage-server): implement ext4 read-only filesystem with superblock, inode, extent, and directory parsing Gabriel Kaszewski 2026-10-18 03:49:24 +02:00
  • dd5c2c7268 feat(storage-server): implement FAT16 filesystem with read, write, create, delete, list, and cluster chain management Gabriel Kaszewski 2026-10-18 03:45:30 +02:00
  • 2dc503e07e refactor(storage-server): add SectorId, FileName, PackedPath newtypes, eliminate raw primitives and DRY violations Gabriel Kaszewski 2026-10-18 03:41:14 +02:00
  • 7a4600b3a2 feat(storage-server): add StorageServer<F: FileSystem> with BlockDevice trait, mock adapters, and tests Gabriel Kaszewski 2026-10-18 03:37:40 +02:00
  • b7bc223a79 feat: add Halt syscall, fault notification to fault handler, supervisor with back-off, shutdown with timeout Gabriel Kaszewski 2026-10-18 03:29:05 +02:00
  • a83b53d962 feat(init): add init crate with declarative boot manifest, boot sequence, supervisor and shutdown stubs Gabriel Kaszewski 2026-10-18 03:21:17 +02:00
  • 962df75f85 refactor(permission-manager): deduplicate kind mapping into CapabilityKind::index/from_index Gabriel Kaszewski 2026-10-18 03:17:03 +02:00
  • 36cab28506 feat: add log-server (ring buffer) and permission-manager (grant/revoke/check) system servers Gabriel Kaszewski 2026-10-18 03:14:48 +02:00
  • 919e918c0a feat(input-server): expand protocol with pointer, scroll, and gamepad events Gabriel Kaszewski 2026-10-18 03:11:15 +02:00
  • c9bd1d2c35 feat(input-server): add InputServer<D: InputDevice> with protocol, mock + UART adapters, and tests Gabriel Kaszewski 2026-10-18 03:08:36 +02:00
  • 5600ce0260 feat(display-server): add VirtioFramebuffer adapter for QEMU Gabriel Kaszewski 2026-10-18 03:05:27 +02:00
  • b6cfea814a feat(display-server): add DisplayServer<F: Framebuffer> with protocol, mock adapter, and tests Gabriel Kaszewski 2026-10-18 03:03:58 +02:00
  • c14fe50c23 feat(server-framework): add Server trait, Encode/Decode, async executor, syscall wrappers, and mock arch for host testing Gabriel Kaszewski 2026-10-18 02:55:22 +02:00
  • 5c29c0845d refactor: move Mapping<F> to types crate with VirtualAddress/PhysicalAddress newtypes, rename MapFlags to Sv39Flags Gabriel Kaszewski 2026-10-18 02:45:53 +02:00
  • 7df3034fca refactor(mmu): replace bool-heavy map_range with Mapping struct and MapFlags builders Gabriel Kaszewski 2026-10-18 02:41:27 +02:00
  • 896c78088a feat: implement configure_protection and map_shared with real page mapping, remove dead context_switch from Platform trait Gabriel Kaszewski 2026-10-18 02:39:36 +02:00
  • 7724a5bd0a feat: implement context switching, SavedContext with pc/status fields, wire all syscall outcomes and timer preemption Gabriel Kaszewski 2026-10-18 02:34:36 +02:00
  • 5a45c14cf5 feat(adapter-riscv): replace static mut with KernelCell, complete all 17 syscall decoders, wire timer and PLIC interrupts to kernel Gabriel Kaszewski 2026-10-18 02:29:46 +02:00
  • ededdb2ed9 refactor(userspace): split syscall stubs into arch-agnostic API + arch/riscv backend Gabriel Kaszewski 2026-10-18 02:19:30 +02:00
  • 570fe22bee feat: userspace round-trip — syscall stubs, ecall dispatch, U-mode entry and exit on QEMU Gabriel Kaszewski 2026-10-18 02:15:35 +02:00
  • 450d74d07f docs: add ADAPTERS.md with adapter structure, rules, and scaffolding guide Gabriel Kaszewski 2026-10-18 02:09:56 +02:00
  • b742f92c0a feat: add scripts/new-adapter.sh to scaffold adapter crates with consistent structure Gabriel Kaszewski 2026-10-18 02:08:32 +02:00
  • d327794d33 refactor(adapter-riscv): restructure into hw/, mmu/, trap/ modules with board constants Gabriel Kaszewski 2026-10-18 02:05:57 +02:00
  • 66a730b2fe feat(adapter-riscv): IPC demo — two processes exchange a message on QEMU virt Gabriel Kaszewski 2026-10-18 01:58:18 +02:00
  • 2436061215 feat(adapter-riscv): add RiscVPlatform, PLIC driver, and kernel boot on QEMU Gabriel Kaszewski 2026-10-18 01:56:18 +02:00
  • 941704bbbc feat(adapter-riscv): add trap handling, timer via SBI, and S/U-mode trap vector Gabriel Kaszewski 2026-10-18 01:53:37 +02:00
  • d9de828420 feat(adapter-riscv): add Sv39 page tables with identity mapping and MMU activation Gabriel Kaszewski 2026-10-18 01:48:00 +02:00
  • 44a0ead7f2 feat(adapter-riscv): boot on QEMU virt with UART hello world Gabriel Kaszewski 2026-10-18 01:46:47 +02:00
  • dcadb83088 feat: add Platform::map_shared and wire memory delegation to page mapping Gabriel Kaszewski 2026-10-18 01:30:23 +02:00
  • 4844b6c2d2 feat(elf): add no_std ELF64 parser for loading process binaries Gabriel Kaszewski 2026-10-18 01:26:18 +02:00
  • 142505d8a4 feat: add SavedContext::with_entry_and_stack, wire SpawnThread to preserve entry point and stack Gabriel Kaszewski 2026-10-18 01:24:56 +02:00
  • 4833f2e2bb feat(kernel): add Revoke syscall for generation-based capability revocation Gabriel Kaszewski 2026-10-18 01:23:24 +02:00
  • 241fefe2d4 refactor(kernel): extract MockPlatform and test helpers into separate modules Gabriel Kaszewski 2026-10-18 01:16:24 +02:00
  • 192631d506 feat(kernel): implement generation-based capability revocation with proofs and tests Gabriel Kaszewski 2026-10-18 01:11:24 +02:00
  • 71518a93a4 refactor(proofs): split into per-topic modules with shared helpers across types, domain, and kernel Gabriel Kaszewski 2026-10-18 01:08:05 +02:00
  • e5fd6372b3 feat(proofs): add complete mediation, message integrity, and revocation proofs Gabriel Kaszewski 2026-10-18 01:03:54 +02:00
  • 74bdd1fd08 fix(proofs): replace tautological delegate guard proof with check_cap path verification Gabriel Kaszewski 2026-10-18 01:01:20 +02:00
  • 1278373142 fix: fix mut binding and unused import warnings in Kani proofs Gabriel Kaszewski 2026-10-18 00:57:33 +02:00
  • acc59830ff feat: add Kani proofs for delegation non-escalation across types, domain, and kernel Gabriel Kaszewski 2026-10-18 00:55:52 +02:00
  • 2c4a9dbadc refactor(kernel): move SyscallOutcome/Result to syscall module, move test helpers to tests module Gabriel Kaszewski 2026-10-18 00:39:28 +02:00
  • 38ebb6002b refactor(kernel): split syscall.rs into per-tier modules (simple, memory, lifecycle, capability, ipc) Gabriel Kaszewski 2026-10-18 00:36:34 +02:00
  • b8c5090fe5 fix(kernel): fix kill wait-queue cleanup, RegionId tracking, ReleasePages ownership, and SwitchTo scheduler state Gabriel Kaszewski 2026-10-18 00:31:05 +02:00
  • 8912a944b8 feat(kernel): add WaitForInterrupt, AcknowledgeInterrupt, and WaitAny syscalls Gabriel Kaszewski 2026-10-18 00:26:11 +02:00
  • e7835c0435 feat(kernel): add Send and Receive IPC syscalls with rendezvous Gabriel Kaszewski 2026-10-18 00:24:09 +02:00
  • ae6023081a feat(kernel): add Delegate syscall for capability delegation Gabriel Kaszewski 2026-10-18 00:22:37 +02:00
  • 07534e52d9 feat(kernel): add SpawnThread, CreateProcess, and Kill syscalls Gabriel Kaszewski 2026-10-18 00:21:01 +02:00
  • 471d96b9a4 feat(kernel): add RequestPages and ReleasePages syscalls Gabriel Kaszewski 2026-10-18 00:19:24 +02:00
  • 95c023f286 feat(kernel): add handle_tick and handle_interrupt entry points Gabriel Kaszewski 2026-10-18 00:17:55 +02:00
  • 74b296a2bf feat(kernel): add Exit and ExitThread syscalls with process cleanup Gabriel Kaszewski 2026-10-18 00:16:38 +02:00
  • d0a0ba788f feat(kernel): add Kernel struct, MockPlatform, and simple syscalls (GetTime, GetProcessId, Yield) Gabriel Kaszewski 2026-10-18 00:15:40 +02:00
  • 8dd36e7d6d refactor(domain): move irq tests to separate file, fix MemoryRegion import in platform Gabriel Kaszewski 2026-10-17 23:54:16 +02:00
  • 328708ed58 feat(domain): add EndpointTable, IrqRoutingTable, and remaining error variants Gabriel Kaszewski 2026-10-17 23:51:56 +02:00
  • ed80fc43a6 feat(domain): add memory module with page pool, per-process tracking, and region table Gabriel Kaszewski 2026-10-17 23:45:17 +02:00
  • 021b2d83b9 fix(domain): remove all unwrap() from production code in scheduler Gabriel Kaszewski 2026-10-17 23:40:03 +02:00
  • c590810fe3 feat(domain): add Message constructor, accessors, and builder Gabriel Kaszewski 2026-10-17 23:36:44 +02:00
  • 0296776e45 chore: remove old flat process.rs and thread.rs replaced by directories Gabriel Kaszewski 2026-10-17 23:34:54 +02:00
  • edb924c27a feat(domain): add MultiCoreScheduler with placement tracking, priority preemption, and load balancing Gabriel Kaszewski 2026-10-17 23:31:22 +02:00
  • 14b18f7406 feat(domain): add ThreadTable with spawn, get, destroy, and process filtering Gabriel Kaszewski 2026-10-17 23:29:46 +02:00
  • 6444de69b8 feat(domain): add Thread constructor, accessors, and state machine transitions Gabriel Kaszewski 2026-10-17 23:28:56 +02:00
  • 42ed5ade29 feat(domain): add ProcessTable with create, get, and destroy Gabriel Kaszewski 2026-10-17 23:27:28 +02:00
  • fe0fde7de1 feat(domain): add Process constructor, accessors, and thread slot management Gabriel Kaszewski 2026-10-17 23:26:14 +02:00
  • 06b51b6712 Implement domain and endpoint modules with capability management, message passing, and scheduling features Gabriel Kaszewski 2026-10-17 23:09:21 +02:00
  • 667bc7f7f7 Add .DS_Store to .gitignore Gabriel Kaszewski 2026-10-16 02:33:25 +02:00
  • bb99c3001d init Gabriel Kaszewski 2026-10-16 02:32:24 +02:00