Skip to content

SAMD51 software-triggered byte-DMA checkpoint

PR210 merged on2026-10-12. The selected model is opt-in sam_dmac_byte, not full sam_dmac. The production PyBadge descriptor, application pins, captures, acknowledgements and performance thresholds were not changed. The separately authored model is MIT; this is not whole-runtime provenance, licence or store clearance.

Exact source and checks

  • Reviewed/tested source: 637f6cea54342ccf1eba88e5087aa82605d416f5.
  • Base: e26d948e24cba22e7ccd514ee96a29c5c0019cd0.
  • Actual test checkout: c5a65b4cc34c42d8188b9cc74efbe465d2fc8ddd.
  • Landed merge: 208ee0518bd8ff5204e6d4f0d19a1524b266f5da.
  • Reviewed, tested and landed tree: a21ab1adce62ff73e6c98fa85b5ceeae03c09f1b; tested/landed parents both match the declared base and source.
  • Rust run38310859190, pull-request attempt1, passed. All22 enabled final-head checks succeeded; only ci-runner-image, core-full, core-integrity, pr-gate-warm skipped under their declared conditions. Normal exact-head merge, no gate bypass.

Actual guest originals

Profile Original job Cases Entries/returns Original bytes
Feature-off 115015972724 90 36/36 656582
Feature-on 115015972512 90 36/36 123133

Off original SHA256: 4b3d5fa6a9f1221d7589033ce657cb3bfc23f94a3b51c9009da15c0b9f3dcace. On original SHA256: b776c813e218a26a87432a6c63817607f6a387cb6666e27385b6c57d9a81d57c. A separately frozen stdlib-only reader checked all cases, flags/counts/handler witnesses, three named successful integration tests per profile, official source/job/step bindings and original checkout/tree equality. No guest replay was used to read the originals. These checks are not complete binary provenance.

The CPU creates descriptors/data, configures DMAC/NVIC and acknowledges actual handlers. Six channels cover all five vector routes; fifteen modes include masks, disabled/no-trigger controls, partial-progress reset, fixed/incrementing addresses and actual read/write/writeback faults. Separate host controls cover shared IRQ clearing and explicit unsupported descriptor/mapped-target refusal.

Failures preserved

Earlier attempts are not silently promoted to final-source passes. Preserve the missing Debug failure, downcast ratchet failure, formatting failure, Clippy failure and preceding guest records, and generated C6 fingerprint failure. The final repair changed one smoke-board generated hash, not a silicon record.

Remaining boundary

Software BLOCK/BYTE, one unlinked descriptor, primary RAM and NOACT/INT only. Unsupported modes refuse; unmapped targets exercise real bus faults. This is bus-assisted service, not event/performance migration or physical arbitration. Live SERCOM requests, production clock binding, RX/links/abort/suspend, final SPI TXC and actual CODAL callbacks/events/fibers remain unqualified. No active Arcade RTx, full P4, firmware admission or installed app/debugger result follows. Continue the bounded live-TX contract.