aboutsummaryrefslogtreecommitdiff
path: root/include/services
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2016-09-19 17:21:15 +0100
committerSoby Mathew <soby.mathew@arm.com>2016-09-22 17:07:20 +0100
commit58e946aec50c022578fd47da93b0b4bd62e94d5b (patch)
tree3c259a2688e4851a4d60e21bafd2e10700ab7b2b /include/services
parentf426fc0519103defb3dcf4a9d86d985d48204424 (diff)
downloadtrusted-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.h9
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__ */