...
During the boot process, the image files of BL31 (TF-A), BL32 (OP-TEE), and BL33 (U-Boot) are loaded by the second-stage boot-loader, x-boot (BL2). Following this, x-boot (BL2) facilitates the transfer of control to BL31 (TF-A). In this phase, BL31 operates as a secure monitor with Exception Level 3 (EL3) privileges, adhering to the AArch64 architecture standard.
...
BL31 plays a crucial role in establishing a secure execution environment for the subsequent stages of the boot process. The functionalities implemented by BL31 include:
Architectural initialization
Platform initialization
Runtime services initialization
AArch64 BL32 (Secure-EL1 Payload) image initialization
BL33 (Non-trusted Firmware) execution
The primary responsibilities of BL31 include:
...