squib-arch 0.2.0

aarch64 layout, ESR_EL2 decoder, PSCI dispatch, sysreg subset, and IntId newtype for squib
Documentation
  • Coverage
  • 100%
    256 out of 256 items documented0 out of 32 items with examples
  • Size
  • Source code size: 69.35 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.81 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • tyrchen/squib
    3 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • tyrchen

aarch64 architecture support for squib.

squib-arch is the single source of truth for every architecture-specific constant and protocol the boot path depends on. It is consumed by the HVF backend (squib-hv), the FDT builder (squib-fdt), the kernel loader (squib-loader), and the VMM boot orchestrator (squib-vmm). If a constant is in this crate, no other crate is allowed to invent it.

See 13-arch-and-boot.md for the full design.

Modules

  • [layout] — fixed memory layout (D22) with const overlap-checks and the page geometry.
  • [gic] — [IntId] newtype that pins the FDT-cell ↔ raw-INTID mapping.
  • [esr] — ESR_EL2 decoder; never panics on a malformed input.
  • [psci] — PSCI 1.1 dispatch table; unknown IDs return NOT_SUPPORTED.
  • [regs] — the Reg enum (X0..X30, SP, PC, PSTATE) and set_boot_regs helper.
  • [sysregs] — curated sysreg subset (~100 regs we touch).