Skip to content

Run Zephyr and FreeRTOS as the AArch64 Normal-world OS over FF-A #74

Description

@aidangarske

Context

On STM32H563, wolfTrust hosts Zephyr (guest0) and FreeRTOS (guest1) as Normal-world guests. On the AArch64 QEMU ports, the Normal world is a bare-metal test payload (tests/firmware/aarch64-ns-smoke) that acts as the single FF-A endpoint, id 0. No real RTOS has exercised the PSA-over-FF-A client.

Origin

PR #29 review (AArch64 parity with the H5 guests)

What is needed

  • Extract the PSA-over-FF-A client in tests/firmware/aarch64-ns-smoke into a small reusable library
  • Boot Zephyr qemu_cortex_a53 as the single NS-EL1 OS on QEMU virt (secure=on) with that client, and run the positive and devcrypto PSA checks from it
  • Then FreeRTOS (ARM_AARCH64 port) as a second variant, booted separately, not concurrently
  • Optional next step: EL3 measured launch of the Normal-world image, enabling single-guest remeasureneg and authneg twins

Blockers and dependencies

#29 merges first. It is unconfirmed whether Zephyr qemu_cortex_a53 boots at NS-EL1 on virt with secure=on, and which exception level the FreeRTOS port expects.

Acceptance criteria

  • New QEMU scenarios with the Zephyr guest and the FreeRTOS guest running the PSA checks on both engines
  • Testing.md rows and the CI matrix updated

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

    P2Medium: needed but not blocking; bug with a workaround; flaketodoDeferred work tracked for later

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions