blob: fde4016956716948e9bb2870e00f76762dde3acf [file] [log] [blame] [view]
Andrew Walbran066ee712019-11-15 16:54:37 +00001# Running Hafnium under Arm FVP
Andrew Walbranfe7d32d2019-08-05 14:25:56 +01002
3Arm offers a series of emulators known as Fixed Virtual Platforms (FVPs), which
4simulate various processors. They are generally more accurate to the hardware
5than QEMU, at the cost of being considerably slower. We support running
6[tests](Testing.md) on the FVP as well as QEMU.
7
8## Set up
9
101. Download the
11 [Armv8-A Base Platform FVP](https://developer.arm.com/products/system-design/fixed-virtual-platforms)
12 from Arm.
131. Unzip it to a directory called `fvp` alongside the root directory of your
14 Hafnium checkout.
15
16## Running tests
17
18To run tests with the FVP instead of QEMU, from the root directory of your
19Hafnium checkout:
20
21```shell
Andrew Walbran219ceaf2020-01-10 15:44:29 +000022$ make && kokoro/test.sh --fvp
Andrew Walbranfe7d32d2019-08-05 14:25:56 +010023```
24
Olivier Deprez70128812023-05-22 12:12:03 +020025See the `FvpDriver` class in [`hftest.py`](../../test/hftest/hftest.py) for details
Andrew Walbranfe7d32d2019-08-05 14:25:56 +010026on how this works.
27
28## Other resources
29
30When running tests under the FVP we also use a prebuilt version of TF-A, which
31is checked in under
Andrew Walbran05e5edc2020-06-17 16:50:45 +010032[`prebuilts/linux-aarch64/arm-trusted-firmware/`](https://review.trustedfirmware.org/plugins/gitiles/hafnium/prebuilts/+/refs/heads/master/linux-aarch64/arm-trusted-firmware/).
Andrew Walbranfe7d32d2019-08-05 14:25:56 +010033The
Andrew Walbran05e5edc2020-06-17 16:50:45 +010034[README](https://review.trustedfirmware.org/plugins/gitiles/hafnium/prebuilts/+/refs/heads/master/linux-aarch64/arm-trusted-firmware/README.md)
Andrew Walbranfe7d32d2019-08-05 14:25:56 +010035there has details on how it was built. The source code is available from the
Andrew Walbran05e5edc2020-06-17 16:50:45 +010036[Arm Trusted Firmware site](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git).
Andrew Walbranfe7d32d2019-08-05 14:25:56 +010037
38Documentation of the FVP (including memory maps) is
Andrew Walbran05e5edc2020-06-17 16:50:45 +010039[available from Arm](https://developer.arm.com/docs/100966/latest).