Skip to content

Add wolfTrust AArch64 support with QEMU virt and Versal ports - #29

Open
aidangarske wants to merge 419 commits into
mainfrom
wolfTrust-dev2
Open

aidangarske wants to merge 419 commits into
mainfrom
wolfTrust-dev2

Conversation

@aidangarske

@aidangarske aidangarske commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Adds AArch64 (Cortex-A) support to wolfTrust.

  • EL3 monitor: SMCCC 1.2, PSCI 1.1, FF-A SPMD
  • S-EL1 SPMC running the FF-M core with Secure Partitions at S-EL0
  • FF-A 1.2: discovery, direct and indirect messaging, notifications, interrupts, memory share/lend/donate with fragmentation
  • FF-A power management messages: the SPMD tells the SPMC of every CPU_SUSPEND, CPU_OFF, SYSTEM_OFF and SYSTEM_RESET and completes it only on SUCCESS
  • PSA client for the Normal world over FF-A
  • Ports: QEMU virt (GICv2 and GICv3) and xlnx-versal-virt
  • Both crypto engines (native, hsm)
  • FF-M isolation level 3 on QEMU virt: a private keystore band each for vault, crypto and attestation, interrupt and peripheral ownership, SPM stack guard, SVC, FP and execute-never hardening
  • Shared AArch64 level 3 layer in port/common/aarch64 (layout, platform hooks, layout tool), gated by WT_ISOLATION_LEVEL, so a new board supplies only its addresses
  • QEMU twins of the M33MU isolation negatives (bandneg, restartneg, svcneg, fpneg, mspovfneg, xnneg, manifestneg2/3, periphspneg, hsmpinneg, devattestqcbor) with a required level 3 scenario set
  • Host suites, QEMU scenario runner, Normal-world test payloads, CI matrix
  • Arm FF-A ACS harness with recorded spec patches
  • Docs: porting (level 3 required for new ports), FF-A compatibility register, testing, Cortex-A level 3 claim

Closes #42, #43, #44, #66, #67, #68, #69, #70

DEFERRED

Copilot AI lite review requested due to automatic review settings September 28, 2026 20:43
@aidangarske aidangarske changed the title Add the AArch64 TF-A replacement: EL3 monitor, S-EL1 SPMC, and S-EL0 partitions over FF-A 1.2 Add wolfTrust AArch64 support with QEMU virt and Versal ports Sep 28, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

wolfSSL-Fenrir-bot

This comment was marked as low quality.

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

Labels

ci:aarch64 Run the full AArch64 QEMU matrix on the PR (core AArch64 change) ci:all Run every M33MU scenario of every port on the PR (core change)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document the enforced isolation boundaries and state the level 3 claim

3 participants