.. SPDX-License-Identifier: BSD-3-Clause
.. SPDX-FileCopyrightText: Copyright TF-RMM Contributors.

#############
Prerequisite
#############

This document describes the software requirements for building |RMM| for
AArch64 target platforms.

It may possible to build |RMM| with combinations of software packages that
are different from those listed below, however only the software described in
this document can be officially supported.

###########
Build Host
###########

The |RMM| officially supports a limited set of build environments and setups.
In this context, official support means that the environments listed below
are actively used by team members and active developers, hence users should
be able to recreate the same configurations by following the instructions
described below. In case of problems, the |RMM| team provides support only
for these environments, but building in other environments can still be
possible.

We recommend at least Ubuntu 20.04 LTS (x64) for build environment. The
arm64/AArch64 Ubuntu and other Linux distributions should also work fine,
provided that the necessary tools and libraries can be installed.

##########################
Tool & Dependency overview
##########################

The following tools are required to obtain and build |RMM|:

.. csv-table:: Tool dependencies
   :header: "Name", "Version", "Component"

   "C compiler", see :ref:`getting_started_toolchain` ,"Firmware"
   "CMake", ">=3.15.0", "Firmware, Documentation"
   "GNU Make", ">4.0", "Firmware, Documentation"
   "Python",3.x,"Firmware, Documentation"
   "Perl",>=5.26,"Firmware, Documentation"
   "ninja-build",,"Firmware (using Ninja Generator)"
   "Sphinx",">=2.4,<3.0.0","Documentation"
   "sphinxcontrib-plantuml",,"Documentation"
   "sphinx-rtd-theme",,"Documentation"
   "Git",, "Firmware, Documentation"
   "Graphviz dot",">v2.38.0","Documentation"
   "docutils",">v2.38.0","Documentation"

.. _getting_started_toolchain:

###############
Setup Toolchain
###############

To compile |RMM| code for an AArch64 target, at least one of the
supported AArch64 toolchains have to be available in the
build environment.

Currently, the following compilers are supported:

- GCC (aarch64-none-elf-) >= 10.2-2020.11 (from the `Arm Developer website`_)
- Clang+LLVM >= 14.0.0 (from the `LLVM Releases website`_)

The respective compiler binary must be found in the shell's search path.
Be sure to add the bin/ directory if you have downloaded a binary version.
The toolchain to use can be set using ``RMM_TOOLCHAIN`` parameter and can
be set to either `llvm` or `gnu`. The default toolchain is `gnu`.

For non-native AArch64 target build, the ``CROSS_COMPILE`` environment
variable must contain the right target triplet corresponding to the AArch64
GCC compiler. Below is an example when RMM is to be built for AArch64 target
on a non-native host machine and using GCC as the toolchain.

    .. code-block:: bash

      export CROSS_COMPILE=aarch64-none-elf-
      export PATH=<path-to-aarch64-gcc>/bin:$PATH

Please note that AArch64 GCC must be included in the shell's search path
even when using Clang as the compiler as LLVM does not include some C
standard headers like `stdlib.h` and needs to be picked up from the
`include` folder of the AArch64 GCC. Below is an example when RMM is
to be built for AArch64 target on a non-native host machine and using
LLVM as the toolchain.

    .. code-block:: bash

      export CROSS_COMPILE=aarch64-none-elf-
      export PATH=<path-to-aarch64-gcc>/bin:<path-to-clang+llvm>/bin:$PATH

The ``CROSS_COMPILE`` variable is ignored for ``fake_host`` build and
the native host toolchain is used for the build.

#######################################
Package Installation (Ubuntu-20.04 x64)
#######################################

If you are using the recommended Ubuntu distribution then we can install the
required packages with the following commands:

1. Install dependencies:

.. code:: shell

    sudo apt-get install -y git build-essential python3 python3-pip make ninja-build
    sudo snap install cmake

2. Verify cmake version:

.. code-block:: bash

    cmake --version

.. note::

    Please download cmake 3.19 or later version from https://cmake.org/download/.

3. Add CMake path into environment:

.. code-block:: bash

    export PATH=<CMake path>/bin:$PATH

###########################
Install python dependencies
###########################

.. note::

    The installation of Python dependencies is an optional step. This is required only
    if building documentation.

RMM's ``docs/requirements.txt`` file declares additional Python dependencies.
Install them with ``pip3``:

.. code-block:: bash

    pip3 install --upgrade pip
    cd <rmm source folder>
    pip3 install -r docs/requirements.txt

.. _getting_started_get_source:

#########################
Getting the RMM Source
#########################

Source code for |RMM| is maintained in a Git repository hosted on TrustedFirmware.org.
To clone this repository from the server, run the following in your shell:

.. code-block:: bash

    git clone --recursive https://git.trustedfirmware.org/TF-RMM/tf-rmm.git

Additional steps for Contributors
*********************************

If you are planning on contributing back to RMM, your commits need to
include a ``Change-Id`` footer as explained in :ref:`mandated-trailers`.
This footer is generated by a Git hook that needs to be installed
inside your cloned RMM source folder.

The `TF-RMM Gerrit page`_ under trustedfirmware.org contains a
*Clone with commit-msg hook* subsection under its **Download** header where
you can copy the command to clone the repo with the required git hooks. Please
use the **SSH** option to clone the repository on your local machine.

If needed, you can also manually install the hooks separately on an existing
repo:

.. code:: shell

    curl -Lo $(git rev-parse --git-dir)/hooks/commit-msg https://review.trustedfirmware.org/tools/hooks/commit-msg
    chmod +x $(git rev-parse --git-dir)/hooks/commit-msg

You can read more about Git hooks in the *githooks* page of the `Git hooks
documentation`_.

#################################
Install Cppcheck and dependencies
#################################

.. note::

    The installation of Cppcheck is an optional step. This is required only
    if using the Cppcheck static analysis.

Follow the public documentation to install Cppcheck either from the official
website https://cppcheck.sourceforge.io/#download or from the official github
https://github.com/danmar/cppcheck/

If you own a valid copy of a MISRA rules file:

.. code-block:: bash

    sudo mkdir /usr/local/share/Cppcheck/misra
    sudo cp -a <path to the misra rules file>/<file name> /usr/local/share/Cppcheck/misra/misra.rules

###########################
Performing an Initial Build
###########################

The |RMM| sources can be compiled using multiple CMake options.

For detailed instructions on build configurations and examples
see :ref:`build_options_examples`.

A typical build command for the FVP platform using GCC toolchain
is shown below:

.. code-block:: bash

    cmake -DRMM_CONFIG=fvp_defcfg -S ${RMM_SOURCE_DIR} -B ${RMM_BUILD_DIR}
    cmake --build ${RMM_BUILD_DIR}

###############
Running the RMM
###############

The |RMM| is part of the CCA software stack and relies on EL3 Firmware to load
the binary at boot time appropriately. It needs both EL3 Firmware and
Non-Secure Host to be present at runtime for its functionality. The EL3
Firmware must comply to `RMM-EL3 Communication Specification`_ and is
typically the `TF-A`_. The Non-Secure Host can be an RME aware hypervisor
or an appropriate Test utility running in Non-Secure world which can interact
with |RMM| via Realm Management Interface (RMI).

The `TF-A`_ project includes build and run instructions for an RME enabled
system on the FVP platform as part of `TF-A RME documentation`_.
The ``rmm.img`` binary is provided to the TF-A bootloader to be packaged
in FIP using ``RMM`` build option in `TF-A`_.

If |RMM| is built for the `fake_host` architecture
(see :ref:`RMM Fake Host Build`), then the generated `rmm.elf` binary can
run natively on the Host machine. It does this by emulating parts of the system
as described in :ref:`RMM Fake host architecture` design.

-----

.. _Arm Developer website: https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads
.. _LLVM Releases website: https://releases.llvm.org/
.. _RMM-EL3 Communication Specification: https://trustedfirmware-a.readthedocs.io/en/latest/components/rmm-el3-comms-spec.html
.. _TF-A: https://www.trustedfirmware.org/projects/tf-a/
.. _TF-A RME documentation: https://trustedfirmware-a.readthedocs.io/en/latest/components/realm-management-extension.html
.. _TF-RMM Gerrit page: https://review.trustedfirmware.org/admin/repos/TF-RMM/tf-rmm
.. _Git hooks documentation:  https://git-scm.com/docs/githooks
