summaryrefslogtreecommitdiff
path: root/src/arch/arm64/include/bl31.h
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2019-05-28 21:01:37 -0700
committerJulius Werner <jwerner@chromium.org>2019-09-14 05:01:16 +0000
commitb3f24b4884fe9fe0589629fbe929ebddfdc683c2 (patch)
treee2db80dac53be5f6dc1277713e5d5c5eff85f0a9 /src/arch/arm64/include/bl31.h
parent8b93689a358b0a65a334cc3adf6141e79fab032f (diff)
downloadcoreboot-b3f24b4884fe9fe0589629fbe929ebddfdc683c2.tar.xz
arm64: Uprev Arm TF and adjust to BL31 parameter changes
This patch uprevs the Arm Trusted Firmware submodule to the new upstream master (commit 42cdeb930). Arm Trusted Firmware unified a bunch of stuff related to BL31 handoff parameters across platforms which involved changing a few names around. This patch syncs coreboot back up with that. They also made header changes that now allow us to directly include all the headers we need (in a safer and cleaner way than before), so we can get rid of some structure definitions that were duplicated. Since the version of entry point info parameters we have been using has been deprecated in Trusted Firmware, this patch switches to the new version 2 parameter format. NOTE: This may or may not stop Cavium from booting with the current pinned Trusted Firmware blob. Cavium maintainers are still evaluating whether to fix that later or drop the platform entirely. Tested on GOOGLE_KEVIN (rk3399). Change-Id: I0ed32bce5585ce191736f0ff2e5a94a9d2b2cc28 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34676 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Diffstat (limited to 'src/arch/arm64/include/bl31.h')
-rw-r--r--src/arch/arm64/include/bl31.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/arch/arm64/include/bl31.h b/src/arch/arm64/include/bl31.h
index 08855f64cf..0f90e774b3 100644
--- a/src/arch/arm64/include/bl31.h
+++ b/src/arch/arm64/include/bl31.h
@@ -16,13 +16,17 @@
#include <types.h>
-/* TODO: Pull in directly from ARM TF once its headers have been reorganized. */
-#include <arm_tf_temp.h>
+#include <arm-trusted-firmware/include/export/lib/bl_aux_params/bl_aux_params_exp.h>
/* Load and enter BL31, set it up to exit to payload according to arguments. */
void run_bl31(u64 payload_entry, u64 payload_arg0, u64 payload_spsr);
-/* Return platform-specific bl31_plat_params. May update bl31_params. */
-void *soc_get_bl31_plat_params(bl31_params_t *bl31_params);
+/* Return platform-specific bl31_plat_params. SoCs should avoid overriding this
+ and stick with the default BL aux parameter framework if possible. */
+void *soc_get_bl31_plat_params(void);
+
+/* Add a BL aux parameter to the list to be passed to BL31. Only works for SoCs
+ that use the default soc_get_bl31_plat_params() implementation. */
+void register_bl31_aux_param(struct bl_aux_param_header *param);
#endif /* __BL31_H__ */