19.2. ARMv8-A Foundation Platform

The ARMv8-A Foundation Platform is a test platform for the ARMv8-A architecture. It is a simple platform model capable of running bare-metal semihosted applications and booting a full operating system.

It is supplied as a platform model with configuration of the simulation from the command line and control using peripherals in the platform.

The Foundation Platform has:

Caches are modeled as stateless and there are no write buffers. This gives the effect of perfect memory coherence on the data side. The instruction side has a variable size prefetch buffer so requires correct barriers to be used in target code to operate correctly.

The platform runs as fast as possible unless all the cores in the cluster are Wait for Interrupt (WFI) or Wait for Exception (WFE), in which case, the platform idles until an interrupt or external event occurs.

The Foundation Platform has been revised to support the ARM Trusted Base System Architecture (TBSA) and Server Base System Architecture (SBSA). A number of peripheral devices have been added, with corresponding changes to the memory map. It has also been updated to align more closely with peripherals present in the Versatile Express baseboard and the ARM Fast Models. Where appropriate, the original Foundation Model is now referred to as either Foundation v1 or Foundation v2 and the Foundation Platform is Foundation v9.1.

Software written to target the previous versions of the platform will work unmodified on the platform using the default --no-gicv3 configuration option. Only software that uses the early blocks of RAM is likely to require some adjustments.

Figure 19.1. Block diagram of ARMv8-A Foundation Platform

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The behavior of the address decoding block depends on whether the --secure-memory command-line option is used.

The platform provides the following types of network support:

NAT, IPv4 based

NAT, IPv4-based networking provides limited IP connectivity by using user-level IP services. This requires no extra privileges to set up or use, but has inherent limitations. System-level services, or services conflicting with those on the host, can be provided using port remapping.


Bridged networking requires the setup of an ethernet bridge device to bridge between the ethernet port on the host and the network interface that the platform provides. This usually requires administrator privileges. See the documentation in the Linux bridge-utils package for more information.

Copyright © 2015 ARM. All rights reserved.ARM DEN0024A