3b7d004285
feat(boot): gatekeeper gates boot (init→UI→gatekeeper→data); keystore disk + virtio-rng discovery; terminal READ_SECRET; storage SET_KEY; PageCount ≤8192, alloc cap gone; device window 0x01D0_0000; test-qemu types passcode over 2 boots
2026-10-27 23:44:05 +01:00
1fc5a54f06
feat(storage): scoped grants (subtree, ro/rw), narrow-only, release revokes all holders; IPC KEEP_DELEGATE opt-in; shell cd/pwd, programs get ro cwd
2026-10-27 20:20:34 +01:00
c603a578c0
feat(userspace): shell runs programs (ls, cat) via spawn w/ terminal+storage+args page; ext4 holes read as zeros; storage re-attach same buffer
2026-10-27 17:22:08 +01:00
0fd568cdad
feat(storage): ext4-only disk via mkfs.ext4 -d; drop FAT16; feature-gated mount (ro on unknown ro_compat); ext4 read spans blocks, delete clears inode, mkdir counts dir; virtio-blk writes; test-qemu e2fsck gate
2026-10-27 17:09:35 +01:00
a4f467f45d
feat(userspace): log server sole console holder; init boots from manifest; adapter loads only init+storage
2026-10-27 15:40:19 +01:00
909b3f0503
feat(storage): full file protocol over per-client shared region (badged clients, owned handles, clamped lengths, ReadOnly on unwritable disk); init loads via libkos::fs; drop boot shared buffer
2026-10-27 12:42:37 +01:00
8bc5402a29
fix(userspace): clip display rects, bounds-check session app ids and fat16 handles, reject bad fat16 geometry, session kills via process cap
2026-10-27 12:11:13 +01:00
9be67e403b
fix(ext4): review fixes — bounds checks, delete safety, blocks_count, multi-extent dirs
2026-10-18 23:28:34 +02:00
73661e925d
test(ext4): comprehensive edge case and integration tests
2026-10-18 23:17:15 +02:00
bc4659eabd
feat(ext4): mkdir and nested directory support
2026-10-18 23:16:35 +02:00
2ede01bdd2
feat(ext4): file create, write, and delete with extent management
2026-10-18 23:15:38 +02:00
bff18df349
feat(ext4): directory entry find/add/remove operations
2026-10-18 23:14:02 +02:00
fe0693b969
feat(ext4): block and inode bitmap allocation/deallocation
2026-10-18 23:12:33 +02:00
381669d9dd
feat(ext4): inode read/write, init_empty_inode, multi-extent read
2026-10-18 23:09:57 +02:00
d85cb5b55d
feat(storage): add mkdir to FileSystem trait with stubs
2026-10-18 23:06:26 +02:00
5766c6f7f7
refactor: extract ports/drivers/bins layers — clean dependency inversion
...
Separate abstractions from implementations following DIP:
servers/ drivers/
│ │
▼ ▼
ports/ (trait-only crates, zero deps)
New crates:
ports/ (abstractions):
- port-framebuffer: Framebuffer trait
- port-block-device: BlockDevice trait + SectorId
- port-input-device: InputDevice trait + InputEvent types
drivers/ (implementations depend on ports/):
- driver-framebuffer-virtio: VirtIO GPU framebuffer
- driver-framebuffer-mock: test double
- driver-block-virtio: VirtIO block device
bins/ (composition roots wire server + driver):
- display-qemu: DisplayServer<VirtioFramebuffer>
- storage-qemu: storage server with VirtIO block
Servers no longer own their hardware traits or driver code.
Neither server nor driver depends on the other — both point
inward to the port abstraction.
2026-10-18 13:13:53 +02:00
29c3841679
feat(storage-server): implement ext4 read-only filesystem with superblock, inode, extent, and directory parsing
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
2026-10-18 03:45:30 +02:00
2dc503e07e
refactor(storage-server): add SectorId, FileName, PackedPath newtypes, eliminate raw primitives and DRY violations
2026-10-18 03:41:14 +02:00
7a4600b3a2
feat(storage-server): add StorageServer<F: FileSystem> with BlockDevice trait, mock adapters, and tests
2026-10-18 03:37:40 +02:00