diff --git a/plat/arm/css/sgi/fdts/sgi575_tb_fw_config.dts b/plat/arm/css/sgi/fdts/sgi575_tb_fw_config.dts index 0bb0a94e3b9af3ba45dac52bdab2723dc2e821e1..315fa6999ce556a270791e5fbf88fdabd41236e7 100644 --- a/plat/arm/css/sgi/fdts/sgi575_tb_fw_config.dts +++ b/plat/arm/css/sgi/fdts/sgi575_tb_fw_config.dts @@ -11,4 +11,15 @@ compatible = "arm,tb_fw"; hw_config_addr = <0x0 0xFEF00000>; hw_config_max_size = <0x0100000>; + /* + * The following two entries are placeholders for Mbed TLS + * heap information. The default values don't matter since + * they will be overwritten by BL1. + * In case of having shared Mbed TLS heap between BL1 and BL2, + * BL1 will populate these two properties with the respective + * info about the shared heap. This info will be available for + * BL2 in order to locate and re-use the heap. + */ + mbedtls_heap_addr = <0x0 0x0>; + mbedtls_heap_size = <0x0>; }; diff --git a/plat/arm/css/sgi/sgi_plat.c b/plat/arm/css/sgi/sgi_plat.c index 6aa76efe0f02f272f9649f145ecc47945654c70d..0a7e319dbe7bdffd39deee7d7a6c4aeeff762a8e 100644 --- a/plat/arm/css/sgi/sgi_plat.c +++ b/plat/arm/css/sgi/sgi_plat.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -63,6 +64,9 @@ const mmap_region_t plat_arm_mmap[] = { #endif #if ENABLE_SPM ARM_SP_IMAGE_MMAP, +#endif +#if TRUSTED_BOARD_BOOT && LOAD_IMAGE_V2 && !BL2_AT_EL3 + ARM_MAP_BL1_RW, #endif {0} }; @@ -143,3 +147,13 @@ const struct secure_partition_boot_info *plat_get_secure_partition_boot_info( return &plat_arm_secure_partition_boot_info; } #endif /* ENABLE_SPM && defined(IMAGE_BL31) */ + +#if TRUSTED_BOARD_BOOT && LOAD_IMAGE_V2 +int plat_get_mbedtls_heap(void **heap_addr, size_t *heap_size) +{ + assert(heap_addr != NULL); + assert(heap_size != NULL); + + return arm_get_mbedtls_heap(heap_addr, heap_size); +} +#endif