FABRIC.md -> FABRIC-0.md FABRIC-2.md -> FABRIC-1.md FABRIC-3.md -> FABRIC-2.md (the current/living document) FABRIC-4.md unchanged (new #3 to follow separately) Every cross-reference repo-wide updated to match, including doc-comment citations inside kernel source (.c/.h) files -- done via an ordered placeholder substitution (FABRIC-3.md->placeholder2, FABRIC-2.md-> placeholder1, FABRIC.md->placeholder0, then placeholders resolved to final names) in a single pass per file to avoid double-shifting already-renamed references. One line in capsules/font.4th grew past the 64-char block-format limit as a side effect of the longer filename; shortened it and reverified with mkcapsule --lint (34/34 pass) before rebuilding. Verified 3-arch boot to ok> (amd64/aarch64/riscv64, each in the foreground) after the fix; logs and DoE CSVs from this session's verification runs included per this repo's own audit-artifact convention. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019YcT3H2PQeyujrzjqS3Var
src/starkernel/arch/riscv64/
RISC-V 64-bit architecture support for LithosAnanke.
arch.c— architecture init entry point.apic.c— PLIC (Platform-Level Interrupt Controller) stub, namedapic.cto match the shared per-arch file-naming convention across amd64/aarch64/riscv64 (RISC-V has no Local APIC). Satisfies the commonapic_init()/EOI call sites without real PLIC bring-up yet; deferred to a later milestone.timer.c— timer setup (heartbeat tick source).interrupts.c— trap vector setup and interrupt dispatch.boot.S— early boot assembly.isr.S— interrupt service routine stubs.
No kernel_entry.S — see Makefile.starkernel for how the riscv64 loader
image is produced (ELF → scripts/gen_pe_reloc.py-patched relocations →
objcopy → PE).