diff options
author | Olivier Deprez <olivier.deprez@arm.com> | 2020-01-23 11:24:33 +0100 |
---|---|---|
committer | Manish Pandey <manish.pandey2@arm.com> | 2020-03-03 10:59:17 +0000 |
commit | 7cd64d19c9325af87d003a3277028cffd982a2b6 (patch) | |
tree | ba5f78547f794ecad6a952e744ee11271d02ad98 /include | |
parent | 2403813779d983fc039bcd05cd659520bcaaf75e (diff) | |
download | platform_external_arm-trusted-firmware-7cd64d19c9325af87d003a3277028cffd982a2b6.tar.gz platform_external_arm-trusted-firmware-7cd64d19c9325af87d003a3277028cffd982a2b6.tar.bz2 platform_external_arm-trusted-firmware-7cd64d19c9325af87d003a3277028cffd982a2b6.zip |
fconf: Add Secure Partitions information as property
Use the firmware configuration framework to retrieve information about
Secure Partitions to facilitate loading them into memory.
To load a SP image we need UUID look-up into FIP and the load address
where it needs to be loaded in memory.
This patch introduces a SP populator function which gets UUID and load
address from firmware config device tree and updates its C data
structure.
Change-Id: I17faec41803df9a76712dcc8b67cadb1c9daf8cd
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/export/common/tbbr/tbbr_img_def_exp.h | 5 | ||||
-rw-r--r-- | include/plat/arm/common/fconf_arm_sp_getter.h | 26 |
2 files changed, 31 insertions, 0 deletions
diff --git a/include/export/common/tbbr/tbbr_img_def_exp.h b/include/export/common/tbbr/tbbr_img_def_exp.h index ff0d16c73..360255413 100644 --- a/include/export/common/tbbr/tbbr_img_def_exp.h +++ b/include/export/common/tbbr/tbbr_img_def_exp.h @@ -86,6 +86,11 @@ #define STM32_IMAGE_ID U(29) /* Define size of the array */ +#if defined(SPD_spmd) +#define MAX_SP_IDS U(8) +#define MAX_NUMBER_IDS MAX_SP_IDS + U(30) +#else #define MAX_NUMBER_IDS U(30) +#endif #endif /* ARM_TRUSTED_FIRMWARE_EXPORT_COMMON_TBBR_TBBR_IMG_DEF_EXP_H */ diff --git a/include/plat/arm/common/fconf_arm_sp_getter.h b/include/plat/arm/common/fconf_arm_sp_getter.h new file mode 100644 index 000000000..57fd92edf --- /dev/null +++ b/include/plat/arm/common/fconf_arm_sp_getter.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2020, Arm Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FCONF_ARM_SP_GETTER_H +#define FCONF_ARM_SP_GETTER_H + +#include <lib/fconf/fconf.h> +#include <tools_share/uuid.h> + +/* arm_sp getter */ +#define arm__sp_getter(prop) arm_sp.prop + +struct arm_sp_t { + unsigned int number_of_sp; + union uuid_helper_t uuids[MAX_SP_IDS]; + uintptr_t load_addr[MAX_SP_IDS]; +}; + +int fconf_populate_arm_sp(uintptr_t config); + +extern struct arm_sp_t arm_sp; + +#endif /* FCONF_ARM_SP_GETTER_H */ |