We recently introduced initializing the PBL early memory pool which
might be needed for decompressing the BL31/BL32 firmware files. We
used the end of the first DRAM region for the pool and with this we
ended up exactly in the default OP-TEE memory region which is mapped
as faulting. Move the pool directly beneath the OP-TEE memory.
Fixes: 76b1f31275 ("ARM: rockchip: initialize PBL malloc")
Signed-off-by: Sascha Hauer <[email protected]>
---
arch/arm/mach-rockchip/atf.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-rockchip/atf.c b/arch/arm/mach-rockchip/atf.c
index 14797a1e06..96a891847b 100644
--- a/arch/arm/mach-rockchip/atf.c
+++ b/arch/arm/mach-rockchip/atf.c
@@ -173,7 +173,8 @@ static void rockchip_atf_load_bl31(void *fdt)
unsigned long bl31_ep;
mmu_early_enable(membase[0], memsize[0]);
- pbl_malloc_init(membase[0] + memsize[0] - PBL_MALLOC_SIZE,
PBL_MALLOC_SIZE);
+ pbl_malloc_init(membase[0] + memsize[0] - OPTEE_SIZE - PBL_MALLOC_SIZE,
+ PBL_MALLOC_SIZE);
bl31_ep = load_elf64_image_phdr(&bl31);
--
2.47.3