test(realm): add initial support for planes
- Added changes to RMI feature register
and RmiRealmParams for planes
- Updated realm create helpers to support planes
Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
Change-Id: I505a4a05f222e2a28eed33bded3bae687fc29eec
diff --git a/include/runtime_services/host_realm_managment/host_realm_helper.h b/include/runtime_services/host_realm_managment/host_realm_helper.h
index 168bb0a..6909a4e 100644
--- a/include/runtime_services/host_realm_managment/host_realm_helper.h
+++ b/include/runtime_services/host_realm_managment/host_realm_helper.h
@@ -18,7 +18,8 @@
u_register_t feature_flag,
long sl,
const u_register_t *rec_flag,
- unsigned int rec_count);
+ unsigned int rec_count,
+ unsigned int num_aux_planes);
/*
* Creates realm, initializes heap, creates RTTs and also
@@ -29,7 +30,8 @@
u_register_t feature_flag,
long sl,
const u_register_t *rec_flag,
- unsigned int rec_count);
+ unsigned int rec_count,
+ unsigned int num_aux_planes);
/*
* Creates realm, initializes heap, creates RTTs,
@@ -40,7 +42,8 @@
u_register_t feature_flag,
long sl,
const u_register_t *rec_flag,
- unsigned int rec_count);
+ unsigned int rec_count,
+ unsigned int num_aux_planes);
bool host_destroy_realm(struct realm *realm_ptr);
void host_rec_send_sgi(struct realm *realm_ptr,
unsigned int sgi, unsigned int rec_num);
diff --git a/include/runtime_services/host_realm_managment/host_realm_rmi.h b/include/runtime_services/host_realm_managment/host_realm_rmi.h
index 8f487d0..1c0a621 100644
--- a/include/runtime_services/host_realm_managment/host_realm_rmi.h
+++ b/include/runtime_services/host_realm_managment/host_realm_rmi.h
@@ -398,10 +398,14 @@
#define RMI_FEATURE_FALSE 0U
#define RMI_FEATURE_TRUE 1U
-/* RmiRealmFlags format */
-#define RMI_REALM_FLAGS_LPA2 BIT(0)
-#define RMI_REALM_FLAGS_SVE BIT(1)
-#define RMI_REALM_FLAGS_PMU BIT(2)
+/* RmiRealmFlags0 format */
+#define RMI_REALM_FLAGS0_LPA2 BIT(0)
+#define RMI_REALM_FLAGS0_SVE BIT(1)
+#define RMI_REALM_FLAGS0_PMU BIT(2)
+#define RMI_REALM_FLAGS0_DA BIT(3)
+
+/* RmiRealmFlags1 format */
+#define RMI_REALM_FLAGS1_RTT_TREE_PP BIT(0)
/* RmiInterfaceVersion type */
#define RMI_MAJOR_VERSION 0U
@@ -473,14 +477,27 @@
* Value -1 (0 in case of NUM_BPS and NUM_WPS) indicates not set field,
* and parameter will be set from the corresponding field of feature register 0.
*/
-#define FEATURE_SVE_VL_SHIFT 32UL
-#define FEATURE_SVE_VL_WIDTH 8UL
-#define FEATURE_NUM_BPS_SHIFT 40UL
-#define FEATURE_NUM_BPS_WIDTH 8UL
-#define FEATURE_NUM_WPS_SHIFT 48UL
-#define FEATURE_NUM_WPS_WIDTH 8UL
-#define FEATURE_PMU_NUM_CTRS_SHIFT 56UL
-#define FEATURE_PMU_NUM_CTRS_WIDTH 8UL
+#define RMI_FEATURE_REGISTER_0_DA BIT(42)
+
+#define RMI_FEATURE_REGISTER_0_PLANE_RTT_SHIFT 43UL
+#define RMI_FEATURE_REGISTER_0_PLANE_RTT_WIDTH 2UL
+
+#define RMI_FEATURE_REGISTER_0_MAX_NUM_AUX_PLANES_SHIFT 45UL
+#define RMI_FEATURE_REGISTER_0_MAX_NUM_AUX_PLANES_WIDTH 4UL
+
+#define FEATURE_SVE_VL_SHIFT 56UL
+#define FEATURE_SVE_VL_WIDTH 4UL
+#define FEATURE_NUM_BPS_SHIFT 14UL
+#define FEATURE_NUM_BPS_WIDTH 6UL
+#define FEATURE_NUM_WPS_SHIFT 20UL
+#define FEATURE_NUM_WPS_WIDTH 6UL
+#define FEATURE_PMU_NUM_CTRS_SHIFT 35UL
+#define FEATURE_PMU_NUM_CTRS_WIDTH 4UL
+
+/* Possible values for RmiPlaneRttFeature */
+#define RMI_PLANE_RTT_AUX 0UL
+#define RMI_PLANE_RTT_AUX_SINGLE 1UL
+#define RMI_PLANE_RTT_SINGLE 2UL
/* RmiStatusCode types */
/*
@@ -560,31 +577,41 @@
*/
struct rmi_realm_params {
/* Flags */
- SET_MEMBER(unsigned long flags, 0, 0x8); /* Offset 0 */
+ SET_MEMBER(unsigned long flags0, 0, 0x8); /* Offset 0 */
/* Requested IPA width */
- SET_MEMBER(unsigned int s2sz, 0x8, 0x10); /* 0x8 */
+ SET_MEMBER(unsigned int s2sz, 0x8, 0x10); /* 0x8 */
/* Requested SVE vector length */
- SET_MEMBER(unsigned int sve_vl, 0x10, 0x18); /* 0x10 */
+ SET_MEMBER(unsigned int sve_vl, 0x10, 0x18); /* 0x10 */
/* Requested number of breakpoints */
- SET_MEMBER(unsigned int num_bps, 0x18, 0x20); /* 0x18 */
+ SET_MEMBER(unsigned int num_bps, 0x18, 0x20); /* 0x18 */
/* Requested number of watchpoints */
- SET_MEMBER(unsigned int num_wps, 0x20, 0x28); /* 0x20 */
+ SET_MEMBER(unsigned int num_wps, 0x20, 0x28); /* 0x20 */
/* Requested number of PMU counters */
- SET_MEMBER(unsigned int pmu_num_ctrs, 0x28, 0x30); /* 0x28 */
+ SET_MEMBER(unsigned int pmu_num_ctrs, 0x28, 0x30); /* 0x28 */
/* Measurement algorithm */
- SET_MEMBER(unsigned char hash_algo, 0x30, 0x400); /* 0x30 */
+ SET_MEMBER(unsigned char algorithm, 0x30, 0x38); /* 0x30 */
+ /* Number of auxiliary Planes */
+ SET_MEMBER(unsigned int num_aux_planes, 0x38, 0x400); /* 0x38 */
/* Realm Personalization Value */
- SET_MEMBER(unsigned char rpv[RPV_SIZE], 0x400, 0x800); /* 0x400 */
+ SET_MEMBER(unsigned char rpv[RPV_SIZE], 0x400, 0x800); /* 0x400 */
SET_MEMBER(struct {
- /* Virtual Machine Identifier */
- unsigned short vmid; /* 0x800 */
- /* Realm Translation Table base */
- u_register_t rtt_base; /* 0x808 */
- /* RTT starting level */
- long rtt_level_start; /* 0x810 */
- /* Number of starting level RTTs */
- unsigned int rtt_num_start; /* 0x818 */
- }, 0x800, 0x1000);
+ /* Virtual Machine Identifier */
+ unsigned short vmid; /* 0x800 */
+ /* Realm Translation Table base */
+ unsigned long rtt_base; /* 0x808 */
+ /* RTT starting level */
+ long rtt_level_start; /* 0x810 */
+ /* Number of starting level RTTs */
+ unsigned int rtt_num_start; /* 0x818 */
+ }, 0x800, 0x820);
+ /* Flags */
+ SET_MEMBER(unsigned long flags1, 0x820, 0x828); /* 0x820 */
+ /* MECID */
+ SET_MEMBER(long mecid, 0x828, 0xF00); /* 0x828 */
+ /* Auxiliary Virtual Machine Identifiers */
+ SET_MEMBER(unsigned short aux_vmid[3], 0xF00, 0xF80); /* 0xF00 */
+ /* Base address of auxiliary RTTs */
+ SET_MEMBER(unsigned long aux_rtt_base[3], 0xF80, 0x1000); /* 0xF80 */
};
/*
@@ -959,6 +986,7 @@
struct realm {
u_register_t host_shared_data;
unsigned int rec_count;
+ unsigned int num_aux_planes;
u_register_t par_base;
u_register_t par_size;
u_register_t rd;
@@ -979,6 +1007,7 @@
uint8_t pmu_num_ctrs;
bool payload_created;
bool shared_mem_created;
+ bool rtt_tree_single;
unsigned short vmid;
enum realm_state state;
long start_level;
diff --git a/include/runtime_services/host_realm_managment/realm_def.h b/include/runtime_services/host_realm_managment/realm_def.h
index 226034f..3bd166a 100644
--- a/include/runtime_services/host_realm_managment/realm_def.h
+++ b/include/runtime_services/host_realm_managment/realm_def.h
@@ -10,7 +10,7 @@
#include <xlat_tables_defs.h>
-/* 1MB for Realm payload as a default value */
+/* 1 MB for Realm payload as a default value */
#define REALM_MAX_LOAD_IMG_SIZE U(0x100000)
#define REALM_STACK_SIZE 0x1000U
#define DATA_PATTERN_1 0x12345678U
@@ -19,7 +19,8 @@
#define REALM_ERROR 1U
#define MAX_REC_COUNT 17U
#define MAX_REALM_COUNT U(2)
-
+#define MAX_AUX_PLANE_COUNT U(3)
+#define MAX_PLANE_COUNT MAX_AUX_PLANE_COUNT + U(1)
/* Only support 4KB at the moment */
#if (PAGE_SIZE == PAGE_SIZE_4KB)
diff --git a/tftf/tests/runtime_services/host_realm_managment/host_realm_helper.c b/tftf/tests/runtime_services/host_realm_managment/host_realm_helper.c
index 9c7ceba..6149512 100644
--- a/tftf/tests/runtime_services/host_realm_managment/host_realm_helper.c
+++ b/tftf/tests/runtime_services/host_realm_managment/host_realm_helper.c
@@ -135,7 +135,8 @@
u_register_t feature_flag,
long sl,
const u_register_t *rec_flag,
- unsigned int rec_count)
+ unsigned int rec_count,
+ unsigned int num_aux_planes)
{
int8_t value;
@@ -169,6 +170,21 @@
EXTRACT(RMI_FEATURE_REGISTER_0_S2SZ, feature_flag));
}
+ realm_ptr->rtt_tree_single = false;
+ if (num_aux_planes > 0U) {
+ if (EXTRACT(RMI_FEATURE_REGISTER_0_PLANE_RTT, feature_flag) >=
+ RMI_PLANE_RTT_SINGLE) {
+ ERROR("S2POE not suported on TFTF\n");
+ return false;
+ }
+
+ /*
+ * @TODO: once S2POE is supported, this should be a parameter
+ * so it can be tested with and without support for auxiliary
+ * tables.
+ */
+ }
+
/* Disable PMU if not required */
if ((feature_flag & RMI_FEATURE_REGISTER_0_PMU_EN) == 0UL) {
realm_ptr->rmm_feat_reg0 &= ~RMI_FEATURE_REGISTER_0_PMU_EN;
@@ -246,6 +262,12 @@
realm_ptr->start_level = sl;
+ if (num_aux_planes > MAX_AUX_PLANE_COUNT) {
+ ERROR("Invalid aux plane count\n");
+ return false;
+ }
+ realm_ptr->num_aux_planes = num_aux_planes;
+
/* Create Realm */
if (host_realm_create(realm_ptr) != REALM_SUCCESS) {
ERROR("%s() failed\n", "host_realm_create");
@@ -283,7 +305,8 @@
u_register_t feature_flag,
long sl,
const u_register_t *rec_flag,
- unsigned int rec_count)
+ unsigned int rec_count,
+ unsigned int num_aux_planes)
{
bool ret;
@@ -292,7 +315,8 @@
feature_flag,
sl,
rec_flag,
- rec_count);
+ rec_count,
+ num_aux_planes);
if (!ret) {
goto destroy_realm;
} else {
@@ -323,7 +347,8 @@
u_register_t feature_flag,
long sl,
const u_register_t *rec_flag,
- unsigned int rec_count)
+ unsigned int rec_count,
+ unsigned int num_aux_planes)
{
bool ret;
@@ -333,7 +358,8 @@
feature_flag,
sl,
rec_flag,
- rec_count);
+ rec_count,
+ num_aux_planes);
if (!ret) {
goto destroy_realm;
} else {
diff --git a/tftf/tests/runtime_services/host_realm_managment/host_realm_rmi.c b/tftf/tests/runtime_services/host_realm_managment/host_realm_rmi.c
index ebf4580..a810617 100644
--- a/tftf/tests/runtime_services/host_realm_managment/host_realm_rmi.c
+++ b/tftf/tests/runtime_services/host_realm_managment/host_realm_rmi.c
@@ -782,16 +782,16 @@
/* SVE enable and vector length */
if ((realm->rmm_feat_reg0 & RMI_FEATURE_REGISTER_0_SVE_EN) != 0UL) {
- params->flags = RMI_REALM_FLAGS_SVE;
+ params->flags0 = RMI_REALM_FLAGS0_SVE;
params->sve_vl = realm->sve_vl;
} else {
- params->flags = 0UL;
+ params->flags0 = 0UL;
params->sve_vl = 0U;
}
/* PMU enable and number of event counters */
if ((realm->rmm_feat_reg0 & RMI_FEATURE_REGISTER_0_PMU_EN) != 0UL) {
- params->flags |= RMI_REALM_FLAGS_PMU;
+ params->flags0 |= RMI_REALM_FLAGS0_PMU;
params->pmu_num_ctrs = realm->pmu_num_ctrs;
} else {
params->pmu_num_ctrs = 0U;
@@ -799,15 +799,20 @@
/* LPA2 enable */
if ((realm->rmm_feat_reg0 & RMI_FEATURE_REGISTER_0_LPA2) != 0UL) {
- params->flags |= RMI_REALM_FLAGS_LPA2;
+ params->flags0 |= RMI_REALM_FLAGS0_LPA2;
}
params->rtt_level_start = realm->start_level;
- params->hash_algo = RMI_HASH_SHA_256;
+ params->algorithm = RMI_HASH_SHA_256;
params->vmid = vmid++;
params->rtt_base = realm->rtt_addr;
params->rtt_num_start = 1U;
+ if (!realm->rtt_tree_single) {
+ params->flags1 = RMI_REALM_FLAGS1_RTT_TREE_PP;
+ }
+ params->num_aux_planes = realm->num_aux_planes;
+
/* Create Realm */
ret = host_rmi_realm_create(realm->rd, (u_register_t)params);
if (ret != RMI_SUCCESS) {
diff --git a/tftf/tests/runtime_services/realm_payload/host_realm_lpa2_tests.c b/tftf/tests/runtime_services/realm_payload/host_realm_lpa2_tests.c
index 9a6341d..43d9f01 100644
--- a/tftf/tests/runtime_services/realm_payload/host_realm_lpa2_tests.c
+++ b/tftf/tests/runtime_services/realm_payload/host_realm_lpa2_tests.c
@@ -22,7 +22,7 @@
SKIP_TEST_IF_RME_NOT_SUPPORTED_OR_RMM_IS_TRP();
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- 0UL, RTT_MIN_LEVEL_LPA2, rec_flag, 1U)) {
+ 0UL, RTT_MIN_LEVEL_LPA2, rec_flag, 1U, 0U)) {
return TEST_RESULT_SUCCESS;
}
@@ -41,7 +41,7 @@
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
INPLACE(RMI_FEATURE_REGISTER_0_S2SZ, 50UL),
- RTT_MIN_LEVEL, rec_flag, 1U)) {
+ RTT_MIN_LEVEL, rec_flag, 1U, 0U)) {
return TEST_RESULT_SUCCESS;
}
@@ -67,7 +67,7 @@
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
INPLACE(RMI_FEATURE_REGISTER_0_S2SZ, 48UL),
- RTT_MIN_LEVEL, rec_flag, 1U)) {
+ RTT_MIN_LEVEL, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -99,7 +99,7 @@
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
INPLACE(RMI_FEATURE_REGISTER_0_S2SZ, 48UL),
- RTT_MIN_LEVEL, rec_flag, 1U)) {
+ RTT_MIN_LEVEL, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -155,7 +155,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, RTT_MIN_LEVEL, rec_flag, 1U)) {
+ feature_flag, RTT_MIN_LEVEL, rec_flag, 1U, 0U)) {
return TEST_RESULT_SUCCESS;
}
diff --git a/tftf/tests/runtime_services/realm_payload/host_realm_payload_multiple_rec_tests.c b/tftf/tests/runtime_services/realm_payload/host_realm_payload_multiple_rec_tests.c
index e3ee23b..151e871 100644
--- a/tftf/tests/runtime_services/realm_payload/host_realm_payload_multiple_rec_tests.c
+++ b/tftf/tests/runtime_services/realm_payload/host_realm_payload_multiple_rec_tests.c
@@ -47,7 +47,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, MAX_REC_COUNT)) {
+ feature_flag, sl, rec_flag, MAX_REC_COUNT, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -112,7 +112,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 3U)) {
+ feature_flag, sl, rec_flag, 3U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -257,7 +257,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, rec_count)) {
+ feature_flag, sl, rec_flag, rec_count, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -361,7 +361,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, rec_count)) {
+ feature_flag, sl, rec_flag, rec_count, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -499,12 +499,12 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, MAX_REC_COUNT)) {
+ feature_flag, sl, rec_flag, MAX_REC_COUNT, 0U)) {
return TEST_RESULT_FAIL;
}
if (!host_create_activate_realm_payload(&realm2, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
ret2 = host_destroy_realm(&realm);
return TEST_RESULT_FAIL;
}
@@ -661,7 +661,7 @@
/* Request more PMU counter than total, expect failure */
if (host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
ERROR("Realm create should have failed\n");
host_destroy_realm(&realm);
return TEST_RESULT_FAIL;
@@ -676,7 +676,7 @@
}
ret1 = host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U);
+ feature_flag, sl, rec_flag, 1U, 0U);
if (!get_feat_hpmn0_supported()) {
if (ret1) {
@@ -702,7 +702,7 @@
/* Prepare realm0, create recs for realm0 later */
if (!host_prepare_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, rec_count)) {
+ feature_flag, sl, rec_flag, rec_count, 0U)) {
goto test_exit;
return TEST_RESULT_FAIL;
}
@@ -716,7 +716,7 @@
}
if (!host_create_activate_realm_payload(&realm1, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, rec_count)) {
+ feature_flag, sl, rec_flag, rec_count, 0U)) {
goto test_exit2;
}
diff --git a/tftf/tests/runtime_services/realm_payload/host_realm_payload_tests.c b/tftf/tests/runtime_services/realm_payload/host_realm_payload_tests.c
index ce5409c..8c13d5d 100644
--- a/tftf/tests/runtime_services/realm_payload/host_realm_payload_tests.c
+++ b/tftf/tests/runtime_services/realm_payload/host_realm_payload_tests.c
@@ -59,7 +59,7 @@
unsigned int run_num = (unsigned int)rand() % MAX_REC_COUNT;
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, MAX_REC_COUNT)) {
+ feature_flag, sl, rec_flag, MAX_REC_COUNT, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -97,7 +97,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -141,7 +141,7 @@
pauth_test_lib_fill_regs_and_template(pauth_keys_before);
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, MAX_REC_COUNT)) {
+ feature_flag, sl, rec_flag, MAX_REC_COUNT, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -203,7 +203,7 @@
SKIP_TEST_IF_RME_NOT_SUPPORTED_OR_RMM_IS_TRP();
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -299,7 +299,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -412,7 +412,8 @@
ret = host_create_activate_realm_payload(&realm[num],
(u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, MAX_REC_COUNT);
+ feature_flag, sl, rec_flag,
+ MAX_REC_COUNT, 0U);
if (!ret) {
goto destroy_realms;
}
@@ -476,7 +477,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -575,7 +576,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -647,7 +648,7 @@
}
if (!host_create_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 2U)) {
+ feature_flag, sl, rec_flag, 2U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -773,7 +774,7 @@
}
if (!host_create_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 2U)) {
+ feature_flag, sl, rec_flag, 2U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -882,7 +883,7 @@
}
if (!host_create_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 2U)) {
+ feature_flag, sl, rec_flag, 2U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -1017,7 +1018,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 4U)) {
+ feature_flag, sl, rec_flag, 4U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -1159,7 +1160,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 2U)) {
+ feature_flag, sl, rec_flag, 2U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -1267,7 +1268,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, MAX_REC_COUNT)) {
+ feature_flag, sl, rec_flag, MAX_REC_COUNT, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -1497,7 +1498,7 @@
}
if (!host_create_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 2U)) {
+ feature_flag, sl, rec_flag, 2U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -1683,7 +1684,7 @@
}
if (!host_create_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
goto destroy_realm;
}
@@ -1729,7 +1730,7 @@
feature_flag = INPLACE(RMI_FEATURE_REGISTER_0_S2SZ, 0x2CU);
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, RTT_MIN_LEVEL, rec_flag, 4U)) {
+ feature_flag, RTT_MIN_LEVEL, rec_flag, 4U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -1876,7 +1877,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
ERROR("Realm creation failed\n");
goto destroy_realm;
}
@@ -2033,7 +2034,7 @@
}
if (!host_create_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
ERROR("Realm creation failed\n");
goto destroy_realm;
}
@@ -2208,7 +2209,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
ERROR("Realm creation failed\n");
goto destroy_realm;
}
@@ -2323,7 +2324,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
ERROR("Realm creation failed\n");
goto destroy_realm;
}
@@ -2436,7 +2437,7 @@
}
if (!host_create_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
ERROR("Realm creation failed\n");
goto destroy_realm;
}
@@ -2552,7 +2553,7 @@
if (!host_create_activate_realm_payload(&realm,
(u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, &rec_flag, 1U)) {
+ feature_flag, sl, &rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -2612,7 +2613,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
@@ -2653,7 +2654,7 @@
}
if (!host_create_activate_realm_payload(&realm, (u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}
diff --git a/tftf/tests/runtime_services/realm_payload/host_realm_simd_common.c b/tftf/tests/runtime_services/realm_payload/host_realm_simd_common.c
index 02c5d0f..235e093 100644
--- a/tftf/tests/runtime_services/realm_payload/host_realm_simd_common.c
+++ b/tftf/tests/runtime_services/realm_payload/host_realm_simd_common.c
@@ -39,7 +39,7 @@
/* Initialise Realm payload */
if (!host_create_activate_realm_payload(realm,
(u_register_t)REALM_IMAGE_BASE,
- feature_flag, sl, rec_flag, 1U)) {
+ feature_flag, sl, rec_flag, 1U, 0U)) {
return TEST_RESULT_FAIL;
}