From f426fc0519103defb3dcf4a9d86d985d48204424 Mon Sep 17 00:00:00 2001 From: Soby Mathew Date: Tue, 13 Sep 2016 14:19:08 +0100 Subject: 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 --- bl32/sp_min/sp_min_main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'bl32/sp_min') 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 -- cgit v1.2.3