ivy: Introduce new test Secure Partition
In order to test multiple partitions it is needed to have at least two
different partitions with different services. This way it isn't possible
to accidentally call partition A with a service of partition B and have
it work correctly.
Cactus is meant to be the main test Secure Partition. It is the one
meant to have most of the tests that a Secure Partition has to do. Ivy
is meant to be more minimalistic. In the future, Cactus may be modified
to be a S-EL1 partition while Ivy will remain as a S-EL0 partition.
Change-Id: I29d09b9f9400b58568f9b90344a4034332a6e6e1
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
diff --git a/Makefile b/Makefile
index 4321ed0..c0d1354 100644
--- a/Makefile
+++ b/Makefile
@@ -115,6 +115,7 @@
include fwu/ns_bl1u/ns_bl1u.mk
include fwu/ns_bl2u/ns_bl2u.mk
include spm/cactus/cactus.mk
+include spm/ivy/ivy.mk
# Include platform specific makefile last because:
# - the platform makefile may use all previous definitions in this file.
@@ -223,6 +224,11 @@
CACTUS_ASFLAGS += ${COMMON_ASFLAGS}
CACTUS_LDFLAGS += ${COMMON_LDFLAGS}
+IVY_INCLUDES += ${PLAT_INCLUDES}
+IVY_CFLAGS += ${COMMON_CFLAGS}
+IVY_ASFLAGS += ${COMMON_ASFLAGS}
+IVY_LDFLAGS += ${COMMON_LDFLAGS}
+
.PHONY: locate-checkpatch
locate-checkpatch:
ifndef CHECKPATCH
@@ -289,6 +295,11 @@
cactus:
@echo "ERROR: $@ is supported only on AArch64 FVP."
@exit 1
+
+.PHONY: ivy
+ivy:
+ @echo "ERROR: $@ is supported only on AArch64 FVP."
+ @exit 1
endif
MAKE_DEP = -Wp,-MD,$(DEP) -MT $$@
@@ -415,6 +426,7 @@
ifeq (${ARCH}-${PLAT},aarch64-fvp)
$(eval $(call MAKE_IMG,cactus))
+ $(eval $(call MAKE_IMG,ivy))
endif
# The EL3 test payload is only supported in AArch64. It has an independent build
@@ -436,7 +448,7 @@
.PHONY: help
help:
- @echo "usage: ${MAKE} PLAT=<${PLATFORMS}> <all|tftf|ns_bl1u|ns_bl2u|cactus|el3_payload|distclean|clean|checkcodebase|checkpatch>"
+ @echo "usage: ${MAKE} PLAT=<${PLATFORMS}> <all|tftf|ns_bl1u|ns_bl2u|cactus|ivy|el3_payload|distclean|clean|checkcodebase|checkpatch>"
@echo ""
@echo "PLAT is used to specify which platform you wish to build."
@echo "If no platform is specified, PLAT defaults to: ${DEFAULT_PLAT}"
@@ -448,6 +460,7 @@
@echo " ns_bl1u Build the NS_BL1U image"
@echo " ns_bl2u Build the NS_BL2U image"
@echo " cactus Build the Cactus image (Test S-EL0 payload)."
+ @echo " ivy Build the Ivy image (Test S-EL0 payload)."
@echo " el3_payload Build the EL3 test payload"
@echo " checkcodebase Check the coding style of the entire source tree"
@echo " checkpatch Check the coding style on changes in the current"