arm-trusted-firmware/bl2
Zelalem Aweke 6c09af9f8b feat(rme): run BL2 in root world when FEAT_RME is enabled
This patch enables BL2 to run in root world (EL3) which is
needed as per the security model of RME-enabled systems.

Using the existing BL2_AT_EL3 TF-A build option is not convenient
because that option assumes TF-A BL1 doesn't exist, which is not
the case for RME-enabled systems. For the purposes of RME, we use
a normal BL1 image but we also want to run BL2 in EL3 as normally as
possible, therefore rather than use the special bl2_entrypoint
function in bl2_el3_entrypoint.S, we use a new bl2_entrypoint
function (in bl2_rme_entrypoint.S) which doesn't need reset or
mailbox initialization code seen in the el3_entrypoint_common macro.

The patch also cleans up bl2_el3_entrypoint.S, moving the
bl2_run_next_image function to its own file to avoid duplicating
code.

Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com>
Change-Id: I99821b4cd550cadcb701f4c0c4dc36da81c7ef55
2021-10-04 21:13:20 +02:00
..
aarch32 feat(rme): run BL2 in root world when FEAT_RME is enabled 2021-10-04 21:13:20 +02:00
aarch64 feat(rme): run BL2 in root world when FEAT_RME is enabled 2021-10-04 21:13:20 +02:00
bl2.ld.S feat(rme): run BL2 in root world when FEAT_RME is enabled 2021-10-04 21:13:20 +02:00
bl2.mk feat(rme): run BL2 in root world when FEAT_RME is enabled 2021-10-04 21:13:20 +02:00
bl2_el3.ld.S linker_script: move .rela.dyn section to bl_common.ld.h 2020-06-29 15:51:50 +09:00
bl2_image_load_v2.c Fix MISRA C issues in BL1/BL2/BL31 2020-04-03 16:20:59 -05:00
bl2_main.c feat(rme): run BL2 in root world when FEAT_RME is enabled 2021-10-04 21:13:20 +02:00
bl2_private.h Move BL1 and BL2 private defines to bl_common.h 2019-01-15 13:52:32 +00:00