Skip to content

W2: Own interrupt lines and peripherals per partition on the AArch64 SPMC #67

Description

@aidangarske

Context

Plan item W2 of the AArch64 level 3 plan (tracking #46). The Armv8-M ports own each partition's interrupt lines and refuse partition access to SPM peripherals; the AArch64 SPMC needs the same before its manifests can declare isolation level 3.

Origin

#29 rebase onto main's level 3 work; the AArch64 level 3 plan

What is needed

  • wt_arch_secure_irq_claim on the AArch64 SPMC routes through the shared wt_irq_claim: disable, Secure Group 0, clear pending, read back, fail closed (GICv2 and GICv3)
  • wt_platform_sp_peripherals for qemuvirt and versal: no partition owns MMIO today, so the table refuses every DEVICE resource
  • QEMU twins of the M33MU periphspneg (a partition reads the Secure UART and faults) and periphneg (the Normal world probes Secure MMIO; SKIP on versal-virt, which has no XPPU model, see Add a Versal hardware port with an XMPU and XPPU Normal-world fence #45)

Blockers and dependencies

None. The interrupt claim is done on wolfTrust-dev2; the twins follow it.

Acceptance criteria

  • periphspneg passes on virt gicv2 a35, virt gicv3 a72 and versal-virt with both engines; periphneg passes on virt and SKIPs on versal-virt
  • ffa-sint and the ACS interrupts group stay green
  • Skoll review and review-security clean on the change

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High: blocks a claim, release, or port milestone; next uptodoDeferred work tracked for later

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions