Epic: #113 · Milestone: MC1 — Toolchain: aarch64
Why
ci.yml has eight jobs, all x86-64; boot-gate.sh hardcodes -target x86_64-freestanding and qemu-system-x86_64. QEMU has no Pi 5 machine (no RP1 model), but -M virt -cpu cortex-a76 gives a GICv3, generic timer, PL011 and virtio — enough to prove the compiler, MMU, exceptions and scheduler on ARM on every PR, leaving only Pi-specific peripherals to the weekly hardware run.
Tasks
scripts/mvk-compiles.sh --arch=aarch64+scripts/mvk-floor-aarch64.txt(may never fall);--listnames the unlowered construct per file.scripts/boot-gate.sh --arch=aarch64: builds thevirtprofile (kernel/src/arch/arm64/platform/virt.home— PL011 at 0x09000000, GICv3 at 0x08000000, RAM at 0x40000000), runsqemu-system-aarch64 -M virt -cpu cortex-a76 -m 1G -nographic -kernel build/virt/kernel.elf, assertsscripts/boot-milestones-aarch64.txtin order (starts with[Boot] aarch64 EL1and[UART] PL011; grows with MC2).boot-qemu-aarch64andmvk-compiles-aarch64jobs inci.ymlalongside the x86 ones; badge in README next to the x86 badge.- Extend
scripts/generate_status.pysoIMPLEMENTATION_STATUS.mdshows both arches.
Acceptance
Both jobs green on main; the ratchet file is enforced; a PR that lowers the count fails.