diff options
author | Lorenzo Pieralisi <[email protected]> | 2016-01-13 14:50:03 +0000 |
---|---|---|
committer | Will Deacon <[email protected]> | 2016-01-25 11:09:06 +0000 |
commit | f436b2ac90a095746beb6729b8ee8ed87c9eaede (patch) | |
tree | a0b7c5945966d064ccdded655b690be7daf0bb75 /tools/perf/scripts/python/call-graph-from-postgresql.py | |
parent | 7b1af9795773d745c2a8c7d4ca5f2936e8b6adfb (diff) |
arm64: kernel: fix architected PMU registers unconditional access
The Performance Monitors extension is an optional feature of the
AArch64 architecture, therefore, in order to access Performance
Monitors registers safely, the kernel should detect the architected
PMU unit presence through the ID_AA64DFR0_EL1 register PMUVer field
before accessing them.
This patch implements a guard by reading the ID_AA64DFR0_EL1 register
PMUVer field to detect the architected PMU presence and prevent accessing
PMU system registers if the Performance Monitors extension is not
implemented in the core.
Cc: Peter Maydell <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: <[email protected]>
Fixes: 60792ad349f3 ("arm64: kernel: enforce pmuserenr_el0 initialization and restore")
Signed-off-by: Lorenzo Pieralisi <[email protected]>
Reported-by: Guenter Roeck <[email protected]>
Tested-by: Guenter Roeck <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions