Add doc about running tests on FVP.

Change-Id: I29063eb7a0ef66f9093740c158cff15512ed15d2
diff --git a/docs/FVP.md b/docs/FVP.md
new file mode 100644
index 0000000..16997bc
--- /dev/null
+++ b/docs/FVP.md
@@ -0,0 +1,40 @@
+# FVP
+
+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](Testing.md) on the FVP as well as QEMU.
+
+## Set up
+
+1.  Download the
+    [Armv8-A Base Platform FVP](https://developer.arm.com/products/system-design/fixed-virtual-platforms)
+    from Arm.
+1.  Unzip it to a directory called `fvp` alongside the root directory of your
+    Hafnium checkout.
+
+## Running tests
+
+To run tests with the FVP instead of QEMU, from the root directory of your
+Hafnium checkout:
+
+```shell
+$ make && kokoro/ubuntu/test.sh --fvp
+```
+
+See the `fvp` function in
+[`hftest.py`](http://cs/hafnium/test/hftest/hftest.py?q=symbol:fvp) for details
+on how this works.
+
+## Other resources
+
+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/`](https://hafnium.googlesource.com/hafnium/prebuilts/+/refs/heads/master/linux-aarch64/arm-trusted-firmware/).
+The
+[README](https://hafnium.googlesource.com/hafnium/prebuilts/+/refs/heads/master/linux-aarch64/arm-trusted-firmware/README.md)
+there has details on how it was built. The source code is available from the
+[Arm Trusted Firmware site](https://developer.trustedfirmware.org/dashboard/view/6/).
+
+Documentation of the FVP (including memory maps) is
+[available from Arm](https://static.docs.arm.com/100966/1101/fast_models_fvp_rg_100966_1101_00_en.pdf).
diff --git a/docs/Testing.md b/docs/Testing.md
index 8a33ee2..b7b8c93 100644
--- a/docs/Testing.md
+++ b/docs/Testing.md
@@ -52,7 +52,8 @@
 ## QEMU tests
 
 These tests boot Hafnium on QEMU and the VMs make calls to Hafnium to test its
-behaviour.
+behaviour. They can also be run on the Arm [FVP](FVP.md) and in some cases on
+real hardware.
 
 ### hftest