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.
- Download the Armv8-A Base Platform FVP from Arm.
- Unzip it to a directory called
fvp
alongside 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
See the FvpDriver
class 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.