diff options
author | Achin Gupta <achin.gupta@arm.com> | 2014-07-25 14:52:47 +0100 |
---|---|---|
committer | Soby Mathew <soby.mathew@arm.com> | 2014-08-19 14:29:23 +0100 |
commit | 776b68ae59d10f956232aa208480cbd85f308c88 (patch) | |
tree | 245631238e36a53542e3bfd42d5ac54024deb31e /services/std_svc/psci/psci_entry.S | |
parent | 04fafcee2b08948d2d366c448bec059a90d224f4 (diff) |
Add PSCI service specific per-CPU data
This patch adds a structure defined by the PSCI service to the per-CPU data
array. The structure is used to save the 'power_state' parameter specified
during a 'cpu_suspend' call on the current CPU. This parameter was being saved
in the cpu node in the PSCI topology tree earlier.
The existing API to return the state id specified during a PSCI CPU_SUSPEND call
i.e. psci_get_suspend_stateid(mpidr) has been renamed to
psci_get_suspend_stateid_by_mpidr(mpidr). The new psci_get_suspend_stateid() API
returns the state id of the current cpu.
The psci_get_suspend_afflvl() API has been changed to return the target affinity
level of the current CPU. This was specified using the 'mpidr' parameter in the
old implementation.
The behaviour of the get_power_on_target_afflvl() has been tweaked such that
traversal of the PSCI topology tree to locate the affinity instance node for the
current CPU is done only in the debug build as it is an expensive operation.
Change-Id: Iaad49db75abda471f6a82d697ee6e0df554c4caf
Diffstat (limited to 'services/std_svc/psci/psci_entry.S')
-rw-r--r-- | services/std_svc/psci/psci_entry.S | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/services/std_svc/psci/psci_entry.S b/services/std_svc/psci/psci_entry.S index 68b917e3..4b2b1067 100644 --- a/services/std_svc/psci/psci_entry.S +++ b/services/std_svc/psci/psci_entry.S @@ -134,18 +134,13 @@ psci_aff_common_finish_entry: * level 0. * --------------------------------------------- */ - mrs x0, mpidr_el1 bl get_power_on_target_afflvl - cmp x0, xzr - b.lt _panic mov x2, x23 mov x1, x0 mov x0, #MPIDR_AFFLVL0 bl psci_afflvl_power_on_finish b el3_exit -_panic: - b _panic /* -------------------------------------------- * This function is called to indicate to the |