From 2d65ea1930d4ce26cc176a8c60e9401d0b4f862a Mon Sep 17 00:00:00 2001 From: Marc Bonnici Date: Mon, 20 Dec 2021 10:53:52 +0000 Subject: [PATCH] feat(plat/arm): allow BL32 specific defines to be used by SPMC_AT_EL3 For EL3 SPMC configuration enabled platforms, allow the reuse of BL32 specific definitions. Signed-off-by: Marc Bonnici Change-Id: I37ffbbf680326c101fbb2f146085a96c138f07a1 --- include/plat/arm/common/arm_def.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h index 29edb4bc7..a8211bdc6 100644 --- a/include/plat/arm/common/arm_def.h +++ b/include/plat/arm/common/arm_def.h @@ -618,7 +618,7 @@ * Trusted DRAM (if available) or the DRAM region secured by the TrustZone * controller. */ -# if SPM_MM +# if SPM_MM || SPMC_AT_EL3 # define TSP_SEC_MEM_BASE (ARM_AP_TZC_DRAM1_BASE + ULL(0x200000)) # define TSP_SEC_MEM_SIZE (ARM_AP_TZC_DRAM1_SIZE - ULL(0x200000)) # define BL32_BASE (ARM_AP_TZC_DRAM1_BASE + ULL(0x200000)) @@ -664,12 +664,13 @@ /* * BL32 is mandatory in AArch32. In AArch64, undefine BL32_BASE if there is no - * SPD and no SPM-MM, as they are the only ones that can be used as BL32. + * SPD and no SPM-MM and no SPMC-AT-EL3, as they are the only ones that can be + * used as BL32. */ #if defined(__aarch64__) && !JUNO_AARCH32_EL3_RUNTIME -# if defined(SPD_none) && !SPM_MM +# if defined(SPD_none) && !SPM_MM && !SPMC_AT_EL3 # undef BL32_BASE -# endif /* defined(SPD_none) && !SPM_MM */ +# endif /* defined(SPD_none) && !SPM_MM || !SPMC_AT_EL3 */ #endif /* defined(__aarch64__) && !JUNO_AARCH32_EL3_RUNTIME */ /*******************************************************************************