From 62d37a4362456694bdae6d8921c2c7572a0d99a4 Mon Sep 17 00:00:00 2001 From: Marco Felsch Date: Mon, 4 Jul 2022 12:18:34 +0200 Subject: [PATCH] feat(imx8mn): add BL31 PIE support Enable PIE support so the BL31 firmware can be loaded from anywhere within the OCRAM (SRAM). For the PIE support we only need to replace the BL31_BASE define by the BL31_START symbol which is a relocatable and we need to enable it by setting ENABLE_PIE := 1. Signed-off-by: Marco Felsch Change-Id: I33c8e35c35112d70d2725eebe484a853a8aad9e0 --- plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c | 2 +- plat/imx/imx8m/imx8mn/platform.mk | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c index da5c9eecf..c8b2ce746 100644 --- a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c +++ b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c @@ -180,7 +180,7 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, } #define MAP_BL31_TOTAL \ - MAP_REGION_FLAT(BL31_BASE, BL31_SIZE, MT_MEMORY | MT_RW | MT_SECURE) + MAP_REGION_FLAT(BL31_START, BL31_SIZE, MT_MEMORY | MT_RW | MT_SECURE) #define MAP_BL31_RO \ MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE, MT_MEMORY | MT_RO | MT_SECURE) #define MAP_COHERENT_MEM \ diff --git a/plat/imx/imx8m/imx8mn/platform.mk b/plat/imx/imx8m/imx8mn/platform.mk index 0f3ad1a20..8b93ed461 100644 --- a/plat/imx/imx8m/imx8mn/platform.mk +++ b/plat/imx/imx8m/imx8mn/platform.mk @@ -47,6 +47,7 @@ BL31_SOURCES += plat/imx/common/imx8_helpers.S \ ${IMX_GIC_SOURCES} \ ${XLAT_TABLES_LIB_SRCS} +ENABLE_PIE := 1 USE_COHERENT_MEM := 1 RESET_TO_BL31 := 1 A53_DISABLE_NON_TEMPORAL_HINT := 0