aboutsummaryrefslogtreecommitdiffstats
path: root/plat/arm
diff options
context:
space:
mode:
authorAntonio Nino Diaz <antonio.ninodiaz@arm.com>2018-11-27 08:36:02 +0000
committerAntonio Nino Diaz <antonio.ninodiaz@arm.com>2018-12-11 13:45:41 +0000
commit680389a65a004d2af007abccf0a0352f2c0eb529 (patch)
tree84d1f5adf7382cb8899978d7106bd49ee690b7da /plat/arm
parent26010da11629f27ddf013ba6127198b33edcd574 (diff)
downloadplatform_external_arm-trusted-firmware-680389a65a004d2af007abccf0a0352f2c0eb529.tar.gz
platform_external_arm-trusted-firmware-680389a65a004d2af007abccf0a0352f2c0eb529.tar.bz2
platform_external_arm-trusted-firmware-680389a65a004d2af007abccf0a0352f2c0eb529.zip
SPM: Load image and RD from SP package
Load SP and RD from package instead of relying on RD being already loaded in memory and the SP being loaded as a BL32 image. Change-Id: I18d4fbf4597656c6a7e878e1d7c01a8a324f3f8a Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Diffstat (limited to 'plat/arm')
-rw-r--r--plat/arm/board/fvp/fvp_common.c8
-rw-r--r--plat/arm/board/fvp/include/platform_def.h4
-rw-r--r--plat/arm/common/arm_common.mk1
3 files changed, 10 insertions, 3 deletions
diff --git a/plat/arm/board/fvp/fvp_common.c b/plat/arm/board/fvp/fvp_common.c
index 66650eecd..f36b637ef 100644
--- a/plat/arm/board/fvp/fvp_common.c
+++ b/plat/arm/board/fvp/fvp_common.c
@@ -96,9 +96,12 @@ const mmap_region_t plat_arm_mmap[] = {
ARM_MAP_BL1_RW,
#endif
#endif /* TRUSTED_BOARD_BOOT */
-#if ENABLE_SPM
+#if ENABLE_SPM && SPM_DEPRECATED
ARM_SP_IMAGE_MMAP,
#endif
+#if ENABLE_SPM && !SPM_DEPRECATED
+ PLAT_MAP_SP_PACKAGE_MEM_RW,
+#endif
#if ARM_BL31_IN_DRAM
ARM_MAP_BL31_SEC_DRAM,
#endif
@@ -127,6 +130,9 @@ const mmap_region_t plat_arm_mmap[] = {
#if ENABLE_SPM && SPM_DEPRECATED
ARM_SPM_BUF_EL3_MMAP,
#endif
+#if ENABLE_SPM && !SPM_DEPRECATED
+ PLAT_MAP_SP_PACKAGE_MEM_RO,
+#endif
{0}
};
diff --git a/plat/arm/board/fvp/include/platform_def.h b/plat/arm/board/fvp/include/platform_def.h
index 31c5fdfbf..70e51fd95 100644
--- a/plat/arm/board/fvp/include/platform_def.h
+++ b/plat/arm/board/fvp/include/platform_def.h
@@ -72,8 +72,8 @@
#if defined(IMAGE_BL31)
# if ENABLE_SPM
# define PLAT_ARM_MMAP_ENTRIES 9
-# define MAX_XLAT_TABLES 7
-# define PLAT_SP_IMAGE_MMAP_REGIONS 7
+# define MAX_XLAT_TABLES 9
+# define PLAT_SP_IMAGE_MMAP_REGIONS 30
# define PLAT_SP_IMAGE_MAX_XLAT_TABLES 10
# else
# define PLAT_ARM_MMAP_ENTRIES 8
diff --git a/plat/arm/common/arm_common.mk b/plat/arm/common/arm_common.mk
index 9f39d71ad..24b61e816 100644
--- a/plat/arm/common/arm_common.mk
+++ b/plat/arm/common/arm_common.mk
@@ -249,6 +249,7 @@ ifeq (${SPM_DEPRECATED},0)
ifeq (${ENABLE_SPM},1)
BL31_SOURCES += common/fdt_wrappers.c \
plat/common/plat_spm_rd.c \
+ plat/common/plat_spm_sp.c \
${LIBFDT_SRCS}
endif
endif