arm-trusted-firmware/lib/psci
Jeenu Viswambharan a10d3632ac PSCI: Introduce cache and barrier wrappers
The PSCI implementation performs cache maintenance operations on its
data structures to ensure their visibility to both cache-coherent and
non-cache-coherent participants. These cache maintenance operations
can be skipped if all PSCI participants are cache-coherent. When
HW_ASSISTED_COHERENCY build option is enabled, we assume PSCI
participants are cache-coherent.

For usage abstraction, this patch introduces wrappers for PSCI cache
maintenance and barrier operations used for state coordination: they are
effectively NOPs when HW_ASSISTED_COHERENCY is enabled, but are
applied otherwise.

Also refactor local state usage and associated cache operations to make
it clearer.

Change-Id: I77f17a90cba41085b7188c1345fe5731c99fad87
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2017-03-02 11:00:20 +00:00
..
aarch32 Add provision to extend CPU operations at more levels 2016-12-15 15:41:40 +00:00
aarch64 Add provision to extend CPU operations at more levels 2016-12-15 15:41:40 +00:00
psci_common.c PSCI: Introduce cache and barrier wrappers 2017-03-02 11:00:20 +00:00
psci_lib.mk Report errata workaround status to console 2017-01-30 14:53:19 +00:00
psci_main.c PSCI: Decouple PSCI stat residency calculation from PMF 2017-02-13 14:33:06 +00:00
psci_off.c PSCI: Introduce cache and barrier wrappers 2017-03-02 11:00:20 +00:00
psci_on.c Introduce PSCI Library Interface 2016-07-19 10:19:01 +01:00
psci_private.h PSCI: Introduce cache and barrier wrappers 2017-03-02 11:00:20 +00:00
psci_setup.c PSCI: Introduce cache and barrier wrappers 2017-03-02 11:00:20 +00:00
psci_stat.c PSCI: Decouple PSCI stat residency calculation from PMF 2017-02-13 14:33:06 +00:00
psci_suspend.c PSCI: Introduce cache and barrier wrappers 2017-03-02 11:00:20 +00:00
psci_system_off.c Introduce el3_runtime and PSCI libraries 2016-07-18 17:52:15 +01:00