Skip to content

Actual CODAL core-reset qualification lane

This proposed slice is not a passing guest result or complete board reset. The actual caller is pinned to Runtime 12d4759af0bf2b29726cfd79c487474a282cc5b0; this revised source needs a new twenty-mode build audit. The predecessor's build passed with all old0–18 ELF hashes unchanged, but does not qualify this new image or the engine correction.

The first actual run 38698483581 failed before any reset request: the probe incorrectly expected the Thumb bit from MRS xPSR. Arm's table 2-3 specifies EPSR reads zero through this instruction. The revised caller checks that software-visible value separately from the unchanged full debugger xPSR check. Keep the original failure.

That original also exposed missing RAM halfword/word callbacks on the fast bus path. The revised probe explicitly enables SystemBus.config.observe_wide_ram_stores (default false). Only committed RAM stores report actual pre-store and post-store bytes; flash/MMIO and existing default observer behavior are unchanged. Permanent unit controls check opt-in, same-valued stores, existing partial byte-fallback faults and opt-out. Do not substitute invented byte events or read the bus through an aliased observer reference. This is diagnostic instrumentation, not a measured performance optimization.

The retained first run also had one CPU batch per instruction at quantum64: the complete board manifest's NeoPixel resident requires per-cycle service. The new reset-only fixture explicitly clears external board devices in both quantums, retains the chip/core models, and reports that fixture identity and zero external-device count. It still requires actual multi-instruction windows; it does not claim batching or reset of the fully wired board. All nineteen earlier caller fixtures keep their unchanged board setup. Full-board resident timing and reset qualification remain separate work, not a reason to relax the reset-only fixture's batching assertion.

The focused CortexM::reset correction clears prior masks, IT/PSR and LR according to Arm's Cortex-M4 register summary. This was a source-review finding, not a claimed earlier guest failure. Permanent unit controls deliberately poison the prior state. The actual target_reset caller separately requires pre-CPSID startup register capture, real invalid-key return versus valid AIRCR store/reset cut, two startup/data/BSS epochs, retained NOLOAD witness, pre-reset core-state readbacks and closed post-terminal bounds. Use actual retired store opcode/registers, not invented SCS write callbacks. Previous-retirement registers at reset entry are OLD context; only the actual post-first-LDR snapshot and startup's own register stores describe the new boot.

Because image loading also invokes CPU reset, the hosted workflow clean-builds and repeats all nineteen earlier service/heap/SPI modes at unchanged Runtime 932d476344107386d56dfd2d595d74d713780563, under both scheduler profiles. The new caller also runs single-step and real bounded-batch paths in both. Every profile/caller executes despite another failure; retain all originals. Do not merge on unit or build evidence alone. Freeze independent source/image/ provider predicates and refusal controls before sole original acquisition; then require every enabled final-head check and exact tested/landed tree proof.

The selected engine reset is core-local: peripheral models, external pending sources, flash commands/persistence, USB/QSPI, physical reset behavior, complete board/API/build/image admission, native Arcade, active RTx and installed consumer qualification remain separate. The board/API continuation and landed lifetime checkpoint remain authoritative. No consumer pin, ACK, physical capture or threshold change.