Host-side checks
- Positive host tests compile the intended API shapes.
- Negative compile-fail tests lock down cross-register misuse and mask/value confusion.
- The CI workflow runs the same direct local command:
cmake --workflow --preset host-test.
MMIO++
The repository tests the public API in layers. Host builds validate shape and misuse rejection. Target builds validate the same API against real MMIO addresses under emulation.
cmake --workflow --preset host-test.cmake --workflow --preset host-test
cmake --workflow --preset qemu-m3-test
cmake --workflow --preset qemu-r5-test
The GitHub Actions workflow is intentionally thin. It calls the same preset entry points used on a local Windows setup instead of reimplementing the build graph in YAML.
Register libraries are easy to make look correct in a desktop-only shim. This repo explicitly keeps the host path focused on API shape while relying on target execution for runtime MMIO behavior.
That split keeps the framework honest: compile-time rules remain strict, and real-address execution is exercised under an actual target emulator instead of a hidden host-side memory substitute.