Skip to content

Commit

Permalink
target/arm: Finish implementation of PM[X]EVCNTR and PM[X]EVTYPER
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Aaron Lindsay authored and pm215 committed Jan 21, 2019
1 parent 57a4a11 commit 5ecdd3e
Show file tree
Hide file tree
Showing 2 changed files with 282 additions and 17 deletions.
3 changes: 3 additions & 0 deletions target/arm/cpu.h
Expand Up @@ -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 */
Expand Down

0 comments on commit 5ecdd3e

Please sign in to comment.