Commit 7f802e82 authored by Thomas Abraham's avatar Thomas Abraham
Browse files

infra: describe the software stack



Add initial documentation that describes the Neoverse Reference Design
software stack. The various software components used in the software
stack is listed.
Signed-off-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
Change-Id: I3bd13bec2b0d72ec663f935e8949a11dcda78e6e
parent eed33e9a
Neoverse Reference Design Platform Solution Stack
=================================================
.. contents::
Introduction
------------
The Neoverse Reference Design platform solutions stack integrates multiple
software components to provide a reference implementation of software solution
that can be used demonstrate various capabilities of the platform and the
software stack. The figure below provides a high-level representation of the
Neoverse Reference Design platform solutions stack.
.. image:: images/sw_stack.png
The following sections provide an overview of the various software components
that are included the Neoverse Reference Design platform solutions stack.
MSCP Firmware
-------------
Neoverse reference design platforms include a System Control Processor (SCP)
sub-system and a Manageability Control Processor (MCP) sub-system. The SCP
sub-system is tasked with the management of system clocks, power control,
configuring the system interconnect, memory controllers, PCIe controllers and
many other functionalities. The MCP sub-system is tasked with the management of
communications with an external Baseboard Management Controller (BMC). The
firmware executed by the SCP and MCP processors is sourced from the
`SCP-firmware`_ open-source project.
Trusted Firmware
----------------
`Trusted Firmware-A`_ (TF-A) software component provides a reference open-source
implementation of a secure monitor executing at EL3 exception level. It
implements various Arm interface standards including the Power State
Coordination Interface (PSCI), Trusted Board Boot Requirements (TBBR), SMC
Calling Convention, System Control and Management Interface and others. The
trusted firmware executes in various stages - Boot Loader stage 1 (BL1) AP
Trusted ROM, Boot Loader stage 2 (BL2) Trusted Boot Firmware, Boot Loader stage
3-1 (BL3-1) EL3 Runtime Firmware, Boot Loader stage 3-2 (BL3-2) Secure-EL1
Payload (optional) and Boot Loader stage 3-3 (BL3-3) Non-trusted Firmware.
EDK2
----
EFI Development Kit 2 (edk2) is a firmware development environment for the
UEFI and PI specifications. UEFI is a specification that defines an interface
between the firmware and an Operating System (OS). UEFI defines the firmware
interfaces and boot services that are required for booting a standards-based OS.
UEFI also defines run-time services, for example, time, variable that an OS can
invoke at runtime. The reference design platform stack integrates both the
`edk2`_ and `edk2-platforms`_ open-source projects to support an implementation
of EFI API for the platform.
Linux Kernel
------------
`Linux kernel`_ is used as the host operating system kernel for the reference
design platforms. ACPI tables are used to describe the platform to the linux
kernel. All the capabilities of the linux kernel are used to demonstrate the
various functionalities of the platform software including power management,
device assignment, RAS and many others.
Other software components
-------------------------
The platform software stack uses the following additional software components to
provide an integrate software solution for the Neoverse reference design
platforms.
- `Trusted Firmware Test Framework`_
- `Grub`_
- `Busybox`_
- `Buildroot`_
- `ACPICA`_
- `Mbed TLS`_
- `ACS`_
- `EFI Tools`_
- `UEFI SCT`_
--------------
*Copyright (c) 2020-2021, Arm Limited. All rights reserved.*
.. _SCP-firmware: https://github.com/ARM-software/SCP-firmware
.. _Trusted Firmware-A: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/
.. _edk2: https://github.com/tianocore/edk2
.. _edk2-platforms: https://github.com/tianocore/edk2-platforms
.. _Linux kernel: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
.. _Trusted Firmware Test Framework: https://git.trustedfirmware.org/TF-A/tf-a-tests.git/about/
.. _Grub: https://git.savannah.gnu.org/cgit/grub.git
.. _Busybox: https://github.com/mirror/busybox
.. _Buildroot: https://github.com/buildroot/buildroot
.. _ACPICA: https://github.com/acpica/acpica
.. _Mbed TLS: https://github.com/ARMmbed/mbedtls
.. _ACS: https://github.com/ARM-software/arm-enterprise-acs
.. _EFI Tools: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git
.. _UEFI SCT: https://github.com/tianocore/edk2-test/tree/master/uefi-sct
......@@ -23,7 +23,8 @@ following hardware configuration.
Manageability Control Processor (MCP)
This document is a user guide on how to setup, build and run the RD-E1-Edge
software stack on the Fixed Virtual Platform.
software stack on the Fixed Virtual Platform. The components integrated into
this stack is described in the `software stack`_ introduction page.
Setting up the Host Machine and Syncing the software stack
......
......@@ -23,7 +23,8 @@ following hardware configuration.
Manageability Control Processor (MCP)
This document is a user guide on how to setup, build and run the RD-N1-Edge
software stack on the Fixed Virtual Platform.
software stack on the Fixed Virtual Platform. The components integrated into
this stack is described in the `software stack`_ introduction page.
Setting up the Host Machine and downloading the software stack
......
......@@ -28,7 +28,8 @@ by CMN600's Coherent Multichip Link. Such platforms are called RD-N1-Edge-Dual
hereafter.
This document is a user guide on how to setup, build and run the RD-N1-Edge-Dual
software stack on the Fixed Virtual Platform.
software stack on the Fixed Virtual Platform. The components integrated into
this stack is described in the `software stack`_ introduction page.
Setting up the Host Machine and downloading the software stack
......
......@@ -21,7 +21,8 @@ hardware configuration.
The Fixed Virtual Platform of RD-N2 config supports 16xMP1 Neoverse N2 CPUs.
This document is a user guide on how to setup, build and run the RD-N2 software
stack on the Fixed Virtual Platform.
stack on the Fixed Virtual Platform. The components integrated into this stack
is described in the `software stack`_ introduction page.
Setting up the Host Machine and Syncing the software stack
......
......@@ -20,7 +20,8 @@ configuration.
Manageability Control Processor (MCP)
This document is a user guide on how to setup, build and run the RD-N2 Cfg1
software stack on the Fixed Virtual Platform.
software stack on the Fixed Virtual Platform. The components integrated into
this stack is described in the `software stack`_ introduction page.
Setting up the Host Machine and Syncing the software stack
......
......@@ -24,7 +24,8 @@ RD-V1 also comes in a multi-chip variant called RD-V1-MC. The user-guide for
RD-V1-MC can be obtained form '`here`_'
This document is a user guide on how to setup, build and run the RD-V1 software
stack on the Fixed Virtual Platform.
stack on the Fixed Virtual Platform. The components integrated into
this stack is described in the `software stack`_ introduction page.
Setting up the Host Machine and Syncing the software stack
......
......@@ -28,7 +28,8 @@ above configuration. That is, there are a total of 16xMP1 Neoverse V1 CPUs,
4xMP1 Neoverse CPUs on each chip on RD-V1-MC FVP.
This document is a user guide on how to setup, build and run the RD-V1-MC
software stack on the Fixed Virtual Platform.
software stack on the Fixed Virtual Platform. The components integrated into
this stack is described in the `software stack`_ introduction page.
Setting up the Host Machine and Syncing the software stack
......
......@@ -10,7 +10,11 @@ the cloud-to-edge infrastructure markets.
The Neoverse reference designs are also available as fixed virtual platform
models and provides a platform to explore various aspects of the compute
subsystem design from a software perspective. A software stack is also made
available as part of the Neoverse reference designs.
available as part of the Neoverse reference designs. The figure below provides
a high-level representation of the Neoverse Reference Design platform solutions
stack.
.. image:: common/images/sw_stack.png
The platform software stack that can be used along with the fixed virtual
platforms is available for the following reference design platforms.
......
......@@ -20,7 +20,8 @@ on the following hardware configuration.
Manageability Control Processor (MCP)
This document is a user guide on how to setup, build and run the SGI-575
software stack on the Fixed Virtual Platform.
software stack on the Fixed Virtual Platform. The components integrated into
this stack is described in the `software stack`_ introduction page.
Setting up the Host Machine and downloading the software stack
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment