docs: build the Hafnium Hypervisor documentation
The Hafnium Hypervisor documentation is kept as a legacy provided this
component is still used for test purposes within the Hafnium CI.
As the original files are .md files as opposed to .rst files for the
remaining of the project, adjust tags to permit building with sphinx.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I5fc138cf7bc2de1276823c0739cbca6d136f26dd
diff --git a/docs/hypervisor/CodeStructure.md b/docs/hypervisor/CodeStructure.md
index b3fa8d6..130f3e1 100644
--- a/docs/hypervisor/CodeStructure.md
+++ b/docs/hypervisor/CodeStructure.md
@@ -20,56 +20,56 @@
The source tree is organised as follows:
-* [`build`](../build): Common GN configuration, build scripts, and linker
+* `build`: Common GN configuration, build scripts, and linker
script.
-* [`docs`](.): Documentation
-* [`driver/linux`](../driver/linux): Linux kernel driver for Hafnium, for use
+* `docs`: Documentation
+* `driver/linux`: Linux kernel driver for Hafnium, for use
in the primary VM.
-* [`inc`](../inc): Header files...
- * [`hf`](../inc/hf): ... internal to Hafnium
- * [`arch`](../inc/hf/arch): Architecture-dependent modules, which have
+* `inc`: Header files...
+ * `hf`: ... internal to Hafnium
+ * `arch`: Architecture-dependent modules, which have
a common interface but separate implementations per architecture.
This includes details of CPU initialisation, exception handling,
timers, page table management, and other system registers.
- * [`plat`](../inc/hf/plat): Platform-dependent modules, which have a
+ * `plat`: Platform-dependent modules, which have a
common interface but separate implementations per platform. This
includes details of the boot flow, and a UART driver for the debug
log console.
- * [`system`](../inc/system): ... which are included by the `stdatomic.h`
+ * `system`: ... which are included by the `stdatomic.h`
which we use from Android Clang but not really needed, so we use dummy
empty versions.
- * [`vmapi/hf`](../inc/vmapi/hf): ... for the interface exposed to VMs.
-* [`kokoro`](../kokoro): Scripts and configuration for continuous integration
+ * `vmapi/hf`: ... for the interface exposed to VMs.
+* `kokoro`: Scripts and configuration for continuous integration
and presubmit checks.
-* [`prebuilts`](../prebuilts): Prebuilt binaries needed for building Hafnium
+* `prebuilts`: Prebuilt binaries needed for building Hafnium
or running tests.
-* [`project`](../project): Configuration and extra code for each **project**.
+* `project`: Configuration and extra code for each **project**.
A project is a set of one or more _platforms_ (see above) that are built
- together. Hafnium comes with the [`reference`](../project/reference) project
+ together. Hafnium comes with the `reference` project
for running it on some common emulators and development boards. To port
Hafnium to a new board, you can create a new project under this directory
with the platform or platforms you want to add, without affecting the core
Hafnium code.
-* [`src`](../src): Source code for Hafnium itself in C and assembly, and
- [unit tests](Testing.md) in C++.
- * [`arch`](../src/arch): Implementation of architecture-dependent modules.
-* [`test`](../test): [Integration tests](Testing.md)
- * [`arch`](../test/arch): Tests for components of Hafnium that need to be
+* `src`: Source code for Hafnium itself in C and assembly, and
+ unit tests in C++.
+ * `arch`: Implementation of architecture-dependent modules.
+* `test`: Integration tests
+ * `arch`: Tests for components of Hafnium that need to be
run on a real architecture.
- * [`hftest`](../test/hftest): A simple test framework that supports
+ * `hftest`: A simple test framework that supports
running tests standalone on bare metal, in VMs under Hafnium, or as
user-space binaries under Linux under Hafnium.
- * [`linux`](../test/linux): Tests which are run in a Linux VM under
+ * `linux`: Tests which are run in a Linux VM under
Hafnium.
- * [`vmapi`](../test/vmapi): Tests which are run in minimal test VMs under
+ * `vmapi`: Tests which are run in minimal test VMs under
Hafnium.
- * [`arch`](../test/vmapi/arch): Tests which are rely on specific
+ * `arch`: Tests which are rely on specific
architectural details such as the GIC version.
- * [`primary_only`](../test/vmapi/primary_only): Tests which run only a
+ * `primary_only`: Tests which run only a
single (primary) VM.
- * [`primary_with_secondaries`](../test/vmapi/primary_with_secondaries):
+ * `primary_with_secondaries`:
Test which run with a primary VM and one or more secondary VMs to
test how they interact.
-* [`third_party`](../third_party): Third party code needed for building
+* `third_party`: Third party code needed for building
Hafnium.
-* [`vmlib`](../vmlib): A small client library for VMs running under Hafnium.
+* `vmlib`: A small client library for VMs running under Hafnium.