feat(spm): add STMM cactus partition

Add another instance of cactus S-EL1 partition, using
StMM manifest.

This is to validate HOB generation at build-time.

The manifest contains memory region nodes using the
same node names as in the StMM partition manifest,
but changed the ranges to align with memory map of
base FVP. The device region nodes have been dropped,
as they didn't affect the creation of the HOB list.

Defined the UUID for the partition in the test code,
and refactored slightly some of the code paths,
so it has an RXTX buffer and is able to do the basic
FF-A setup tests.

Also added the cactus-stmm node to the sp_layout
file.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: I05971fc9d63f03bd7ea43b3bcaba5b6362a44ca0
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/spm/cactus/cactus_main.c b/spm/cactus/cactus_main.c
index c15ee4e..48af7ca 100644
--- a/spm/cactus/cactus_main.c
+++ b/spm/cactus/cactus_main.c
@@ -308,7 +308,12 @@
 		cactus_print_boot_info(boot_info_header);
 	}
 
-	if (ffa_id == (SPM_VM_ID_FIRST + 2)) {
+	/*
+	 * Cactus-tertiary and cactus-stmm make use of FFA_RXTX_MAP API
+	 * instead of specifying `rx_tx-info` in their manifests, as done by the
+	 * primary and secondary cactus partitions.
+	 */
+	if (ffa_id == SP_ID(3) || ffa_id == SP_ID(5)) {
 		VERBOSE("Mapping RXTX Region\n");
 		CONFIGURE_AND_MAP_MAILBOX(mb, PAGE_SIZE, ret);
 		if (ffa_func_id(ret) != FFA_SUCCESS_SMC32) {
@@ -323,7 +328,7 @@
 	ret = register_secondary_entrypoint();
 
 	/* FFA_SECONDARY_EP_REGISTER interface is not supported for UP SP. */
-	if (ffa_id == (SPM_VM_ID_FIRST + 2)) {
+	if (ffa_id == SP_ID(3) || ffa_id == SP_ID(5)) {
 		EXPECT(ffa_func_id(ret), FFA_ERROR);
 		EXPECT(ffa_error_code(ret), FFA_ERROR_NOT_SUPPORTED);
 	} else {