From a813a147fa63dad8e661cc72e3a32a690cb7f6be Mon Sep 17 00:00:00 2001 From: Robert Allan James Date: Thu, 13 Aug 2026 08:46:45 -0400 Subject: [PATCH] FABRIC-2.md: arch_mmu_init() is a deliberate TODO, not dead code Investigated 2026-08-13: confirmed unreachable by repo-wide grep, but each of the three stubs is a real doc-commented placeholder for a future per-arch MMU milestone, not leftover cruft. Captain Bob's call: leave in place, keep tracked as a TODO rather than delete or wire in a no-op call site. No code changed. Co-Authored-By: Claude Sonnet 5 --- FABRIC-2.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/FABRIC-2.md b/FABRIC-2.md index 03ca90f..c20ba84 100644 --- a/FABRIC-2.md +++ b/FABRIC-2.md @@ -146,8 +146,17 @@ and recorded. > `capsule_vm_kill()` itself. Three-arch acceptance boot, all clean to `ok>`: > `logs/20260813-083429/amd64`, `logs/20260813-083551/aarch64`, > `logs/20260813-083738/riscv64`. Committed `db66406`. -- [ ] `arch_mmu_init()` is declared and defined on all three architectures but never called - anywhere — dead code. Found during item 4.3.5a. +- [ ] **`arch_mmu_init()` — TODO, not accidental dead code.** Declared (`arch.h:73`) and + defined on all three architectures (`amd64/arch.c:246`, `aarch64/arch.c:169`, + `riscv64/arch.c:179`) but never called anywhere — confirmed by repo-wide grep, 2026-08-13. + Each definition is a real doc-commented no-op stub ("paging will be wired up in later + milestones" / "MMU bring-up deferred" / "Sv39/Sv48 bring-up deferred"), and each comment + describes it as satisfying "the common `arch_mmu_init()` call site shared across all three + ISAs" — a call site that does not exist anywhere in the tree today. `vmm.c` (M3) handles + page-table management independently and does not need this hook to function. Captain Bob's + call, 2026-08-13: leave the three stubs in place as scaffolding for a future per-arch MMU + milestone rather than deleting or wiring in a no-op call site now — this item stays open as + a TODO marker, not a bug to fix. Found during item 4.3.5a. - [ ] `include/block_subsystem.h:168`'s `encoding` field (ASCII/UTF-8/binary) is dead metadata — nothing reads or writes it. A ruling on wiring it up vs. removing it is still open. (FABRIC.md §27.6)