summaryrefslogtreecommitdiffstats
path: root/target/arm/cpu.h
diff options
context:
space:
mode:
authorAaron Lindsay2019-01-21 11:23:14 +0100
committerPeter Maydell2019-01-21 11:38:56 +0100
commit5ecdd3e47cadae83a62dc92b472f1fe163b56f59 (patch)
tree854928a018942fe872484847b8878ff22d861869 /target/arm/cpu.h
parenttarget/arm: Add array for supported PMU events, generate PMCEID[01]_EL0 (diff)
downloadqemu-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.h3
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 */