index.rst 2.4 KB

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