diff options
author | Vikram Kanigiri <vikram.kanigiri@arm.com> | 2014-04-24 11:02:16 +0100 |
---|---|---|
committer | Vikram Kanigiri <vikram.kanigiri@arm.com> | 2014-05-22 16:25:09 +0100 |
commit | dbad1bacba0a7adfd3c7c559f0fd0805087aeddd (patch) | |
tree | 89884033b665aeca41682ddb79f76006d0429c85 /plat/fvp/platform.h | |
parent | 6871c5d3a227cb95008a25e90e358ec0ac615222 (diff) |
Add support for BL3-1 as a reset vector
This change adds optional reset vector support to BL3-1
which means BL3-1 entry point can detect cold/warm boot,
initialise primary cpu, set up cci and mail box.
When using BL3-1 as a reset vector it is assumed that
the BL3-1 platform code can determine the location of
the BL3-2 images, or load them as there are no parameters
that can be passed to BL3-1 at reset.
It also fixes the incorrect initialisation of mailbox
registers on the FVP platform
This feature can be enabled by building the code with
make variable RESET_TO_BL31 set as 1
Fixes ARM-software/TF-issues#133
Fixes ARM-software/TF-issues#20
Change-Id: I4e23939b1c518614b899f549f1e8d412538ee570
Diffstat (limited to 'plat/fvp/platform.h')
-rw-r--r-- | plat/fvp/platform.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/plat/fvp/platform.h b/plat/fvp/platform.h index 50f11246..bd76d678 100644 --- a/plat/fvp/platform.h +++ b/plat/fvp/platform.h @@ -32,6 +32,7 @@ #define __PLATFORM_H__ #include <arch.h> +#include <bl_common.h> /******************************************************************************* @@ -417,6 +418,12 @@ extern void plat_report_exception(unsigned long); extern unsigned long plat_get_ns_image_entrypoint(void); extern unsigned long platform_get_stack(unsigned long mpidr); extern uint64_t plat_get_syscnt_freq(void); +#if RESET_TO_BL31 +extern void plat_get_entry_point_info(unsigned long target_security, + struct entry_point_info *target_entry_info); +#endif + +extern void fvp_cci_setup(void); /* Declarations for fvp_gic.c */ extern void gic_cpuif_deactivate(unsigned int); @@ -480,6 +487,12 @@ extern void bl2_plat_get_bl32_meminfo(struct meminfo *mem_info); /* Gets the memory layout for BL33 */ extern void bl2_plat_get_bl33_meminfo(struct meminfo *mem_info); +/* Sets the entrypoint for BL32 */ +extern void fvp_set_bl32_ep_info(struct entry_point_info *bl32_ep_info); + +/* Sets the entrypoint for BL33 */ +extern void fvp_set_bl33_ep_info(struct entry_point_info *bl33_ep_info); + #endif /*__ASSEMBLY__*/ |