From 58e946aec50c022578fd47da93b0b4bd62e94d5b Mon Sep 17 00:00:00 2001 From: Soby Mathew Date: Mon, 19 Sep 2016 17:21:15 +0100 Subject: PSCI: Do psci_setup() as part of std_svc_setup() This patch moves the invocation of `psci_setup()` from BL31 and SP_MIN into `std_svc_setup()` as part of ARM Standard Service initialization. This allows us to consolidate ARM Standard Service initializations which will be added to in the future. A new function `get_arm_std_svc_args()` is introduced to get arguments corresponding to each standard service. This function must be implemented by the EL3 Runtime Firmware and both SP_MIN and BL31 implement it. Change-Id: I38e1b644f797fa4089b20574bd4a10f0419de184 --- include/services/std_svc.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/services/std_svc.h b/include/services/std_svc.h index 0feb2eae..38ce8bb4 100644 --- a/include/services/std_svc.h +++ b/include/services/std_svc.h @@ -42,4 +42,13 @@ #define STD_SVC_VERSION_MAJOR 0x0 #define STD_SVC_VERSION_MINOR 0x1 +/* + * Get the ARM Standard Service argument from EL3 Runtime. + * This function must be implemented by EL3 Runtime and the + * `svc_mask` identifies the service. `svc_mask` is a bit + * mask identifying the range of SMC function IDs available + * to the service. + */ +uintptr_t get_arm_std_svc_args(unsigned int svc_mask); + #endif /* __STD_SVC_H__ */ -- cgit v1.2.3