diff options
author | Achin Gupta <achin.gupta@arm.com> | 2019-10-11 15:50:43 +0100 |
---|---|---|
committer | Achin Gupta <achin.gupta@arm.com> | 2019-10-28 14:23:35 +0000 |
commit | dd06a5a43a123e9ffb9319eb59332c7f839572a3 (patch) | |
tree | 0d2eec231742e1bf6d56b052040a666a078a973a | |
parent | af3fef474909018e1f6ed3631606af128f350d5d (diff) | |
download | trusted-firmware-a-dd06a5a43a123e9ffb9319eb59332c7f839572a3.tar.gz |
SPMD: enable SPM dispatcher support
This patch adds support to the build system to include support for the SPM
dispatcher when the ENABLE_SPMD configuration option is 1.
Signed-off-by: Achin Gupta <achin.gupta@arm.com>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | bl31/bl31.mk | 9 | ||||
-rw-r--r-- | make_helpers/defaults.mk | 3 | ||||
-rw-r--r-- | plat/arm/common/arm_common.mk | 11 |
4 files changed, 25 insertions, 0 deletions
@@ -673,6 +673,7 @@ $(eval $(call assert_boolean,ENABLE_PSCI_STAT)) $(eval $(call assert_boolean,ENABLE_RUNTIME_INSTRUMENTATION)) $(eval $(call assert_boolean,ENABLE_SPE_FOR_LOWER_ELS)) $(eval $(call assert_boolean,ENABLE_SPM)) +$(eval $(call assert_boolean,ENABLE_SPMD)) $(eval $(call assert_boolean,ENABLE_SVE_FOR_NS)) $(eval $(call assert_boolean,ERROR_DEPRECATED)) $(eval $(call assert_boolean,FAULT_INJECTION_SUPPORT)) @@ -738,6 +739,7 @@ $(eval $(call add_define,ENABLE_PSCI_STAT)) $(eval $(call add_define,ENABLE_RUNTIME_INSTRUMENTATION)) $(eval $(call add_define,ENABLE_SPE_FOR_LOWER_ELS)) $(eval $(call add_define,ENABLE_SPM)) +$(eval $(call add_define,ENABLE_SPMD)) $(eval $(call add_define,ENABLE_SVE_FOR_NS)) $(eval $(call add_define,ERROR_DEPRECATED)) $(eval $(call add_define,FAULT_INJECTION_SUPPORT)) diff --git a/bl31/bl31.mk b/bl31/bl31.mk index c9ba926c59..f9d481f8c0 100644 --- a/bl31/bl31.mk +++ b/bl31/bl31.mk @@ -20,6 +20,14 @@ ifeq (${ENABLE_SPM},1) endif endif +################################################################################ +# Include SPMD Makefile +################################################################################ +ifeq (${ENABLE_SPMD},1) + $(info Including SPMD makefile) + include services/std_svc/spmd/spmd.mk +endif + include lib/psci/psci_lib.mk @@ -36,6 +44,7 @@ BL31_SOURCES += bl31/bl31_main.c \ services/arm_arch_svc/arm_arch_svc_setup.c \ services/std_svc/std_svc_setup.c \ ${PSCI_LIB_SOURCES} \ + ${SPMD_SOURCES} \ ${SPM_SOURCES} diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk index b7fb173b16..30a49712e5 100644 --- a/make_helpers/defaults.mk +++ b/make_helpers/defaults.mk @@ -184,6 +184,9 @@ ENABLE_SPM := 0 # Use the SPM based on MM SPM_MM := 1 +# For including the Secure Partition Manager dispatcher +ENABLE_SPMD := 0 + # Flag to introduce an infinite loop in BL1 just before it exits into the next # image. This is meant to help debugging the post-BL2 phase. SPIN_ON_BL1_EXIT := 0 diff --git a/plat/arm/common/arm_common.mk b/plat/arm/common/arm_common.mk index a4a29bf74a..0a246edaa8 100644 --- a/plat/arm/common/arm_common.mk +++ b/plat/arm/common/arm_common.mk @@ -248,6 +248,17 @@ BL31_SOURCES += common/fdt_wrappers.c \ endif endif +ifeq (${ENABLE_SPMD},1) + ifeq (${ENABLE_SPM},1) + $(error "ENABLE_SPMD must be enabled only when ENABLE_SPM is not enabled") + endif + +BL31_SOURCES += plat/common/plat_spmd_manifest.c \ + common/fdt_wrappers.c \ + ${LIBFDT_SRCS} + +endif + ifneq (${TRUSTED_BOARD_BOOT},0) # Include common TBB sources |