Preserve PSCI cpu_suspend 'power_state' parameter.
This patch saves the 'power_state' parameter prior to suspending
a cpu and invalidates it upon its resumption. The 'affinity level'
and 'state id' fields of this parameter can be read using a set of
public and private apis. Validation of power state parameter is
introduced which checks for SBZ bits are zero.
This change also takes care of flushing the parameter from the cache
to main memory. This ensures that it is available after cpu reset
when the caches and mmu are turned off. The earlier support for
saving only the 'affinity level' field of the 'power_state' parameter
has also been reworked.

Fixes ARM-Software/tf-issues#26
Fixes ARM-Software/tf-issues#130

Change-Id: Ic007ccb5e39bf01e0b67390565d3b4be33f5960a
1 parent 429421d commit 759ec93b6916dccca3e445e20b3bd2e20d1117d0
@Vikram Kanigiri Vikram Kanigiri authored on 1 Apr 2014
Showing 6 changed files
View
include/psci.h
View
services/std_svc/psci/psci_afflvl_suspend.c
View
services/std_svc/psci/psci_common.c
View
services/std_svc/psci/psci_main.c
View
services/std_svc/psci/psci_private.h
View
services/std_svc/psci/psci_setup.c