From 04f72baeac4de26301cef9b71c816a95f00de2d6 Mon Sep 17 00:00:00 2001 From: Jens Wiklander Date: Thu, 24 Aug 2017 15:39:09 +0200 Subject: [PATCH] ARM plat: change OP-TEE pageable load base Changes ARM_OPTEE_PAGEABLE_LOAD_BASE to end of ARM_AP_TZC_DRAM1. ARM_OPTEE_PAGEABLE_LOAD_SIZE is also increased to 4MB to optimize translation table usage. This change makes loading of paged part easier inside OP-TEE OS as the previous location of ARM_OPTEE_PAGEABLE_LOAD_BASE normally isn't mapped if paging is enabled. Signed-off-by: Jens Wiklander --- include/plat/arm/common/arm_def.h | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h index 55747bf4..106cd747 100644 --- a/include/plat/arm/common/arm_def.h +++ b/include/plat/arm/common/arm_def.h @@ -97,16 +97,18 @@ #ifdef SPD_opteed /* - * BL2 needs to map 3.5MB from 512KB offset in TZC_DRAM1 in order to - * load/authenticate the trusted os extra image. The first 512KB of TZC_DRAM1 - * are reserved for trusted os (OPTEE). The extra image loading for OPTEE is - * paged image which only include the paging part using virtual memory but - * without "init" data. OPTEE will copy the "init" data (from pager image) to - * the first 512KB of TZC_DRAM, and then copy the extra image behind the "init" - * data. + * BL2 needs to map 4MB at the end of TZC_DRAM1 in order to + * load/authenticate the trusted os extra image. The first 512KB of + * TZC_DRAM1 are reserved for trusted os (OPTEE). The extra image loading + * for OPTEE is paged image which only include the paging part using + * virtual memory but without "init" data. OPTEE will copy the "init" data + * (from pager image) to the first 512KB of TZC_DRAM, and then copy the + * extra image behind the "init" data. */ -#define ARM_OPTEE_PAGEABLE_LOAD_BASE (ARM_AP_TZC_DRAM1_BASE + 0x80000) -#define ARM_OPTEE_PAGEABLE_LOAD_SIZE 0x380000 +#define ARM_OPTEE_PAGEABLE_LOAD_BASE (ARM_AP_TZC_DRAM1_BASE + \ + ARM_AP_TZC_DRAM1_SIZE - \ + ARM_OPTEE_PAGEABLE_LOAD_SIZE) +#define ARM_OPTEE_PAGEABLE_LOAD_SIZE 0x400000 #define ARM_OPTEE_PAGEABLE_LOAD_MEM MAP_REGION_FLAT( \ ARM_OPTEE_PAGEABLE_LOAD_BASE, \ ARM_OPTEE_PAGEABLE_LOAD_SIZE, \ -- 2.30.2