summaryrefslogtreecommitdiff
path: root/plat/arm
diff options
context:
space:
mode:
authorJavier Almansa Sobrino <javier.almansasobrino@arm.com>2022-12-01 17:20:45 +0000
committerJavier Almansa Sobrino <javier.almansasobrino@arm.com>2022-12-07 18:54:28 +0000
commitdc0ca64e4b6c86090eee025293e7ae7f1fe1cf12 (patch)
tree1b3e9da1f17af2c595aa4254a2883c877c70913e /plat/arm
parent10f4d1a2d053b0740644d704d7583666913e5092 (diff)
downloadarm-trusted-firmware-dc0ca64e4b6c86090eee025293e7ae7f1fe1cf12.tar.gz
fix(rmmd): add missing padding to RMM Boot Manifest and initialize it
This patch also: * Enforces the check of RES0 fields on EL3-RMM boot interface and manifest * Fixes a couple of nits on the EL3-RMM Boot Interface documentation. Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com> Change-Id: Idb9e38f9fcda2ba0655646a1e2c4fdbabd5cdc40
Diffstat (limited to 'plat/arm')
-rw-r--r--plat/arm/board/fvp/fvp_common.c1
-rw-r--r--plat/arm/common/trp/arm_trp_setup.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/plat/arm/board/fvp/fvp_common.c b/plat/arm/board/fvp/fvp_common.c
index f8463f14c..f5d9940f0 100644
--- a/plat/arm/board/fvp/fvp_common.c
+++ b/plat/arm/board/fvp/fvp_common.c
@@ -536,6 +536,7 @@ int plat_rmmd_load_manifest(rmm_manifest_t *manifest)
assert(manifest != NULL);
manifest->version = RMMD_MANIFEST_VERSION;
+ manifest->padding = 0U; /* RES0 */
manifest->plat_data = (uintptr_t)NULL;
return 0;
diff --git a/plat/arm/common/trp/arm_trp_setup.c b/plat/arm/common/trp/arm_trp_setup.c
index 59b4c06e9..aeacd1054 100644
--- a/plat/arm/common/trp/arm_trp_setup.c
+++ b/plat/arm/common/trp/arm_trp_setup.c
@@ -28,6 +28,9 @@ static console_t arm_trp_runtime_console;
static int arm_trp_process_manifest(rmm_manifest_t *manifest)
{
+ /* padding field on the manifest must be RES0 */
+ assert(manifest->padding == 0U);
+
/* Verify the Boot Manifest Version. Only the Major is considered */
if (RMMD_MANIFEST_VERSION_MAJOR !=
RMMD_GET_MANIFEST_VERSION_MAJOR(manifest->version)) {