diff options
author | Aaron Lindsay | 2019-01-21 11:23:14 +0100 |
---|---|---|
committer | Peter Maydell | 2019-01-21 11:38:56 +0100 |
commit | 5ecdd3e47cadae83a62dc92b472f1fe163b56f59 (patch) | |
tree | 854928a018942fe872484847b8878ff22d861869 /target/arm/cpu.h | |
parent | target/arm: Add array for supported PMU events, generate PMCEID[01]_EL0 (diff) | |
download | qemu-5ecdd3e47cadae83a62dc92b472f1fe163b56f59.tar.gz qemu-5ecdd3e47cadae83a62dc92b472f1fe163b56f59.tar.xz qemu-5ecdd3e47cadae83a62dc92b472f1fe163b56f59.zip |
target/arm: Finish implementation of PM[X]EVCNTR and PM[X]EVTYPER
Add arrays to hold the registers, the definitions themselves, access
functions, and logic to reset counters when PMCR.P is set. Update
filtering code to support counters other than PMCCNTR. Support migration
with raw read/write functions.
Signed-off-by: Aaron Lindsay <alindsay@codeaurora.org>
Signed-off-by: Aaron Lindsay <aaron@os.amperecomputing.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20181211151945.29137-11-aaron@os.amperecomputing.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/cpu.h')
-rw-r--r-- | target/arm/cpu.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 562291048d..ff81db420d 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -487,6 +487,9 @@ typedef struct CPUARMState { * pmccntr_op_finish. */ uint64_t c15_ccnt_delta; + uint64_t c14_pmevcntr[31]; + uint64_t c14_pmevcntr_delta[31]; + uint64_t c14_pmevtyper[31]; uint64_t pmccfiltr_el0; /* Performance Monitor Filter Register */ uint64_t vpidr_el2; /* Virtualization Processor ID Register */ uint64_t vmpidr_el2; /* Virtualization Multiprocessor ID Register */ |