diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h index 55747bf4a9f2dcef153dc858d88692b7ab2d2b04..106cd747fa2f7b5e57d83bf17e895a574d76e68d 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, \ diff --git a/plat/arm/board/fvp/fvp_common.c b/plat/arm/board/fvp/fvp_common.c index d6b9820ce4c57fc358070f88389bc37c3ab9d2d9..d97a04920d85e5951857d383adedff09ff84313b 100644 --- a/plat/arm/board/fvp/fvp_common.c +++ b/plat/arm/board/fvp/fvp_common.c @@ -86,6 +86,9 @@ const mmap_region_t plat_arm_mmap[] = { #endif #if ARM_BL31_IN_DRAM ARM_MAP_BL31_SEC_DRAM, +#endif +#ifdef SPD_opteed + ARM_OPTEE_PAGEABLE_LOAD_MEM, #endif {0} };