arm-trusted-firmware/lib/cpus/aarch64
Varun Wadekar c5c1af0db6 cpus: denver: disable cycle counter when event counting is prohibited
The Denver CPUs implement support for PMUv3 for ARMv8.1 and expect the
PMCR_EL0 to be saved in non-secure context.

This patch disables cycle counter when event counting is prohibited
immediately on entering the secure world to avoid leaking useful
information about the PMU counters. The context saving code later
saves the value of PMCR_EL0 to the non-secure world context.

Verified with 'PMU Leakage' test suite.

 ******************************* Summary *******************************
 > Test suite 'PMU Leakage'
                                                                 Passed
 =================================
 Tests Skipped : 2
 Tests Passed  : 2
 Tests Failed  : 0
 Tests Crashed : 0
 Total tests   : 4
 =================================

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I3675e2b99b44ed23d86e29a5af1b496e80324875
2020-06-09 19:54:29 +00:00
..
aem_generic.S FVP_Base_AEMv8A platform: Fix cache maintenance operations 2019-08-16 11:30:37 +00:00
cortex_a35.S Cortex-A35: Implement workaround for errata 855472 2019-04-17 13:46:43 +01:00
cortex_a53.S ti: k3: common: Remove coherency workaround for AM65x 2019-06-06 11:20:26 +01:00
cortex_a55.S Cortex-A55: workarounds for errata 1221012 2019-05-28 14:19:04 +01:00
cortex_a57.S cpus: higher performance non-cacheable load forwarding 2020-02-20 09:25:45 -08:00
cortex_a65.S Introducing support for Cortex-A65 2019-10-02 18:12:28 +02:00
cortex_a65ae.S Introducing support for Cortex-A65AE 2019-10-03 15:38:31 +02:00
cortex_a72.S cpulib: Add ISBs or comment why they are unneeded 2018-06-19 10:34:51 +01:00
cortex_a73.S Cortex-A73: Implement workaround for errata 852427 2019-02-28 12:01:13 +00:00
cortex_a75.S Add compile-time errors for HW_ASSISTED_COHERENCY flag 2019-05-03 14:23:55 +01:00
cortex_a75_pubsub.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
cortex_a76.S Prevent speculative execution past ERET 2020-01-22 21:42:51 +00:00
cortex_a76ae.S Apply compile-time check for AArch64-only cores 2019-06-04 14:08:55 +01:00
cortex_a77.S Rename Cortex-Deimos to Cortex-A77 2019-07-10 12:14:20 +02:00
cortex_a78.S Rename Cortex-Hercules to Cortex-A78 2020-06-01 17:33:22 -05:00
cortex_hercules_ae.S Rename Cortex-Hercules to Cortex-A78 2020-06-01 17:33:22 -05:00
cortex_klein.S Add CPULib for Klein Core 2020-02-18 08:57:32 -06:00
cortex_matterhorn.S Add Matterhorn CPU lib 2020-02-18 09:00:04 -06:00
cpu_helpers.S Neoverse N1 Errata Workaround 1542419 2019-10-04 19:31:24 +03:00
cpuamu.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
cpuamu_helpers.S Add support for Branch Target Identification 2019-05-24 14:44:45 +01:00
denver.S cpus: denver: disable cycle counter when event counting is prohibited 2020-06-09 19:54:29 +00:00
dsu_helpers.S DSU: Implement workaround for errata 798953 2019-04-17 13:46:43 +01:00
neoverse_e1.S DSU: Apply erratum 936184 for Neoverse N1/E1 2019-06-11 14:01:32 +01:00
neoverse_n1.S Neovers N1: added support to update presence of External LLC 2020-01-27 14:44:35 +00:00
neoverse_n1_pubsub.c Rename Cortex-Ares to Neoverse N1 2019-02-19 13:50:07 +00:00
neoverse_zeus.S Zeus: apply the MSR SSBS instruction 2019-09-11 14:37:42 +01:00
wa_cve_2017_5715_bpiall.S Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
wa_cve_2017_5715_mmu.S Prevent speculative execution past ERET 2020-01-22 21:42:51 +00:00