123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- RD-1 AE (Kronos) Platform
- =========================
- Some of the features of the RD-1 AE platform referenced in TF-A include:
- - Neoverse-V3AE, Arm9.2-A application processor (64-bit mode)
- - A GICv4-compatible GIC-720AE
- Further information on RD1-AE is available at `rd1ae`_
- Boot Sequence
- -------------
- The boot process starts from RSE (Runtime Security Engine) that loads the
- Application Processor (AP) BL2 image and signals the System Control Processor (SCP)
- to power up the AP. The AP then runs AP BL2
- The primary compute boot flow follows the following steps:
- 1. AP BL2:
- * Performs the actions described in the `Trusted Board Boot (TBB)`_ document.
- * Copies the AP BL31 image from Secure Flash to Secure SRAM
- * Copies the AP BL32 (OP-TEE) image from Secure Flash to Secure DRAM
- * Copies the AP BL33 (U-Boot) image from Secure Flash to Normal DRAM
- * Transfers the execution to AP BL31
- 2. AP BL31:
- * Initializes Trusted Firmware-A Services
- * Transfers the execution to AP BL32 and then transfers the execution to AP BL33
- * During runtime, acts as the Secure Monitor, handling SMC calls,
- and context switching between secure and non-secure worlds.
- 3. AP BL32:
- * Initializes OP-TEE environment
- * Initializes Secure Partitions
- * Transfers the execution back to AP BL31
- * During runtime, it facilitates secure communication between the
- normal world environment (e.g. Linux) and the Trusted Execution Environment.
- Build Procedure (TF-A only)
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Obtain `Arm toolchain`_ and set the CROSS_COMPILE environment variable to
- point to the toolchain folder.
- - Build TF-A:
- .. code:: shell
- make \
- PLAT=rd1ae \
- MBEDTLS_DIR=<mbedtls_dir> \
- ARCH=aarch64 \
- CREATE_KEYS=1 \
- GENERATE_COT=1 \
- TRUSTED_BOARD_BOOT=1 \
- COT=tbbr \
- ARM_ROTPK_LOCATION=devel_rsa \
- ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \
- BL32=<path to optee binary> \
- SPD=spmd \
- SPMD_SPM_AT_SEL2=0 \
- BL33=<path to u-boot binary> \
- *Copyright (c) 2024, Arm Limited. All rights reserved.*
- .. _Arm Toolchain: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads
- .. _rd1ae: https://developer.arm.com/Tools%20and%20Software/Arm%20Reference%20Design-1%20AE
- .. _Trusted Board Boot (TBB): https://trustedfirmware-a.readthedocs.io/en/latest/design/trusted-board-boot.html
|