summaryrefslogtreecommitdiff
path: root/bl32
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2016-09-13 14:19:08 +0100
committerSoby Mathew <soby.mathew@arm.com>2016-09-22 17:07:20 +0100
commitf426fc0519103defb3dcf4a9d86d985d48204424 (patch)
tree91f4e21225b0da612cb8ebe5e1313fa8c342dcaa /bl32
parent44abeaa632765bbcba672da3a8c1b4c87a8d2250 (diff)
PSCI: Introduce PSCI Library argument structure
This patch introduces a `psci_lib_args_t` structure which must be passed into `psci_setup()` which is then used to initialize the PSCI library. The `psci_lib_args_t` is a versioned structure so as to enable compatibility checks during library initialization. Both BL31 and SP_MIN are modified to use the new structure. SP_MIN is also modified to add version string and build message as part of its cold boot log just like the other BLs in Trusted Firmware. NOTE: Please be aware that this patch modifies the prototype of `psci_setup()`, which breaks compatibility with EL3 Runtime Firmware (excluding BL31 and SP_MIN) integrated with the PSCI Library. Change-Id: Ic3761db0b790760a7ad664d8a437c72ea5edbcd6
Diffstat (limited to 'bl32')
-rw-r--r--bl32/sp_min/sp_min_main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/bl32/sp_min/sp_min_main.c b/bl32/sp_min/sp_min_main.c
index 31cab3df..c1ba8fc5 100644
--- a/bl32/sp_min/sp_min_main.c
+++ b/bl32/sp_min/sp_min_main.c
@@ -156,14 +156,20 @@ static void sp_min_prepare_next_image_entry(void)
*****************************************************************************/
void sp_min_main(void)
{
- /* Perform platform setup in TSP MIN */
+ /* Setup the arguments for PSCI Library */
+ DEFINE_STATIC_PSCI_LIB_ARGS_V1(psci_args, sp_min_warm_entrypoint);
+
+ NOTICE("SP_MIN: %s\n", version_string);
+ NOTICE("SP_MIN: %s\n", build_message);
+
+ /* Perform the SP_MIN platform setup */
sp_min_platform_setup();
/*
* Initialize the PSCI library and perform the remaining generic
* architectural setup from PSCI.
*/
- psci_setup((uintptr_t)sp_min_warm_entrypoint);
+ psci_setup(&psci_args);
/*
* Initialize the runtime services e.g. psci