Arm offers a series of emulators known as Fixed Virtual Platforms (FVPs), which simulate various processors. They are generally more accurate to the hardware than QEMU, at the cost of being considerably slower. We support running tests on the FVP as well as QEMU.
fvpalongside the root directory of your Hafnium checkout.
To run tests with the FVP instead of QEMU, from the root directory of your Hafnium checkout:
$ make && kokoro/test.sh --fvp
fvp function in
hftest.py for details on how this works.
When running tests under the FVP we also use a prebuilt version of TF-A, which is checked in under
prebuilts/linux-aarch64/arm-trusted-firmware/. The README there has details on how it was built. The source code is available from the Arm Trusted Firmware site.
Documentation of the FVP (including memory maps) is available from Arm.