diff options
author | Soby Mathew <soby.mathew@arm.com> | 2016-09-19 17:21:15 +0100 |
---|---|---|
committer | Soby Mathew <soby.mathew@arm.com> | 2016-09-22 17:07:20 +0100 |
commit | 58e946aec50c022578fd47da93b0b4bd62e94d5b (patch) | |
tree | 3c259a2688e4851a4d60e21bafd2e10700ab7b2b /include/services | |
parent | f426fc0519103defb3dcf4a9d86d985d48204424 (diff) | |
download | trusted-firmware-a-58e946aec50c022578fd47da93b0b4bd62e94d5b.tar.gz |
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
Diffstat (limited to 'include/services')
-rw-r--r-- | include/services/std_svc.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/services/std_svc.h b/include/services/std_svc.h index 0feb2eae11..38ce8bb47b 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__ */ |