summaryrefslogtreecommitdiff
path: root/services/std_svc/psci/psci_entry.S
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2014-08-14 12:49:05 +0100
committerDan Handley <dan.handley@arm.com>2014-08-20 19:14:31 +0100
commitadd403514d0f792b9df3c81006cd9a9395b213f6 (patch)
tree284f2c6ee8f2f93eb15a4d698ed79d896e1dd3f4 /services/std_svc/psci/psci_entry.S
parent24fb838f965cc1250831cd021d6a18b0d371b853 (diff)
Add CPU specific power management operations
This patch adds CPU core and cluster power down sequences to the CPU specific operations framework introduced in a earlier patch. Cortex-A53, Cortex-A57 and generic AEM sequences have been added. The latter is suitable for the Foundation and Base AEM FVPs. A pointer to each CPU's operations structure is saved in the per-cpu data so that it can be easily accessed during power down seqeunces. An optional platform API has been introduced to allow a platform to disable the Accelerator Coherency Port (ACP) during a cluster power down sequence. The weak definition of this function (plat_disable_acp()) does not take any action. It should be overriden with a strong definition if the ACP is present on a platform. Change-Id: I8d09bd40d2f528a28d2d3f19b77101178778685d
Diffstat (limited to 'services/std_svc/psci/psci_entry.S')
-rw-r--r--services/std_svc/psci/psci_entry.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/std_svc/psci/psci_entry.S b/services/std_svc/psci/psci_entry.S
index cc57aa15..81450128 100644
--- a/services/std_svc/psci/psci_entry.S
+++ b/services/std_svc/psci/psci_entry.S
@@ -78,6 +78,12 @@ psci_aff_common_finish_entry:
bl init_cpu_data_ptr
/* ---------------------------------------------
+ * Initialize the cpu_ops pointer.
+ * ---------------------------------------------
+ */
+ bl init_cpu_ops
+
+ /* ---------------------------------------------
* Set the exception vectors
* ---------------------------------------------
*/