PMU is a block of size: 4096 bytes
Offset | Name | Accessor condition | Register condition | Most permissive access |
---|---|---|---|---|
0x000 + (8 * n) for n in 30:0 | PMEVCNTR<n>_EL0 | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x000 + (8 * n) for n in 30:0 | PMEVCNTR<n>_EL0 | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3p5 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x000 + (8 * n) for n in 30:0 | PMEVCNTR<n>_EL0 | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3p5 is not implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x0F8 | PMCCNTR_EL0 | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x0F8 | PMCCNTR_EL0 | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x0FC | PMCCNTR_EL0[63:32] | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x100 | PMICNTR_EL0 | When FEAT_PMUv3_ICNTR is implemented | When FEAT_PMUv3_ICNTR is implemented | RW |
0x200 | PMPCSR | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x200 | PMPCSR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x204 | PMPCSR[63:32] | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x208 | PMVCIDSR | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT64 is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x208 | PMCID1SR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x20C | PMVIDSR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented, FEAT_PCSRv8p2 is implemented and EL2 is implemented | RO |
0x220 | PMPCSR | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x220 | PMPCSR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x224 | PMPCSR[63:32] | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x228 | PMCCIDSR | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented | RO |
0x228 | PMCID1SR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented and FEAT_PCSRv8p2 is implemented | RO |
0x22C | PMCID2SR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented | RO |
0x400 + (8 * n) for n in 30:0 | PMEVTYPER<n>_EL0[63:0] | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x400 + (4 * n) for n in 30:0 | PMEVTYPER<n>_EL0[31:0] | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x47C | PMCCFILTR_EL0[31:0] | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x480 | PMICFILTR_EL0[31:0] | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3_ICNTR is implemented | When FEAT_PMUv3_ICNTR is implemented | RW |
0x4F8 | PMCCFILTR_EL0 | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0x500 | PMICFILTR_EL0 | When FEAT_PMUv3_EXT64 is implemented and FEAT_PMUv3_ICNTR is implemented | When FEAT_PMUv3_ICNTR is implemented | RW |
0x600 + (8 * n) for n in 30:0 | PMEVCNTSVR<n>_EL1 | When FEAT_PMUv3_SS is implemented | When FEAT_PMUv3_SS is implemented | RO |
0x6F8 | PMCCNTSVR_EL1 | When FEAT_PMUv3_SS is implemented | When FEAT_PMUv3_SS is implemented | RO |
0x700 | PMICNTSVR_EL1 | When FEAT_PMUv3_SS is implemented and FEAT_PMUv3_ICNTR is implemented | When FEAT_PMUv3_ICNTR is implemented and FEAT_PMUv3_SS is implemented | RO |
0x800 + (4 * n) for n in 63:0 | PMEVFILT2R<n>[31:0] | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented and an implementation implements PMEVFILT2R<n> | RW |
0x800 + (8 * n) for n in 63:0 | PMEVFILT2R<n>[63:0] | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented and an implementation implements PMEVFILT2R<n> | RW |
0xA00 + (4 * n) for n in 30:0 | PMEVTYPER<n>_EL0[63:32] | When FEAT_PMUv3_EXT32 is implemented and (FEAT_PMUv3_TH is implemented or FEAT_PMUv3p8 is implemented) | When FEAT_PMUv3_EXT is implemented | RW |
0xA7C | PMCCFILTR_EL0[63:32] | When FEAT_PMUv3_EXT32 is implemented and (FEAT_PMUv3_TH is implemented or FEAT_PMUv3p8 is implemented) | When FEAT_PMUv3_EXT is implemented | RW |
0xA80 | PMICFILTR_EL0[63:32] | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3_ICNTR is implemented | When FEAT_PMUv3_ICNTR is implemented | RW |
0xC00 | PMCNTENSET_EL0 | When FEAT_PMUv3_EXT64 is implemented, or FEAT_PMUv3_ICNTR is implemented or FEAT_PMUv3p9 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC00 | PMCNTENSET_EL0 | When FEAT_PMUv3_EXT32 is implemented, FEAT_PMUv3_ICNTR is not implemented and FEAT_PMUv3p9 is not implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC10 | PMCNTEN | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT64 is implemented | RW |
0xC20 | PMCNTENCLR_EL0 | When FEAT_PMUv3_EXT64 is implemented, or FEAT_PMUv3_ICNTR is implemented or FEAT_PMUv3p9 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC20 | PMCNTENCLR_EL0 | When FEAT_PMUv3_EXT32 is implemented, FEAT_PMUv3_ICNTR is not implemented and FEAT_PMUv3p9 is not implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC40 | PMINTENSET_EL1 | When FEAT_PMUv3_EXT64 is implemented, or FEAT_PMUv3_ICNTR is implemented or FEAT_PMUv3p9 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC40 | PMINTENSET_EL1 | When FEAT_PMUv3_EXT32 is implemented, FEAT_PMUv3_ICNTR is not implemented and FEAT_PMUv3p9 is not implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC50 | PMINTEN | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT64 is implemented | RW |
0xC60 | PMINTENCLR_EL1 | When FEAT_PMUv3_EXT64 is implemented, or FEAT_PMUv3_ICNTR is implemented or FEAT_PMUv3p9 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC60 | PMINTENCLR_EL1 | When FEAT_PMUv3_EXT32 is implemented, FEAT_PMUv3_ICNTR is not implemented and FEAT_PMUv3p9 is not implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC80 | PMOVSCLR_EL0 | When FEAT_PMUv3_EXT64 is implemented, or FEAT_PMUv3_ICNTR is implemented or FEAT_PMUv3p9 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC80 | PMOVSCLR_EL0 | When FEAT_PMUv3_EXT32 is implemented, FEAT_PMUv3_ICNTR is not implemented and FEAT_PMUv3p9 is not implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xC90 | PMOVS | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT64 is implemented | RW |
0xCA0 | PMSWINC_EL0 | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3p9 is not implemented | When FEAT_PMUv3_EXT32 is implemented, FEAT_PMUv3p9 is not implemented and an implementation implements PMSWINC_EL0 | WO |
0xCA0 | PMZR_EL0 | When FEAT_PMUv3_EXT64 is implemented and FEAT_PMUv3p9 is implemented | When FEAT_PMUv3_EXT64 is implemented and FEAT_PMUv3p9 is implemented | WO |
0xCC0 | PMOVSSET_EL0 | When FEAT_PMUv3_EXT64 is implemented, or FEAT_PMUv3_ICNTR is implemented or FEAT_PMUv3p9 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xCC0 | PMOVSSET_EL0 | When FEAT_PMUv3_EXT32 is implemented, FEAT_PMUv3_ICNTR is not implemented and FEAT_PMUv3p9 is not implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xCE0 | PMCGCR0 | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3_ICNTR is implemented | When FEAT_PMUv3_ICNTR is implemented | RO |
0xCE0 | PMCGCR0 | When FEAT_PMUv3_EXT64 is implemented and FEAT_PMUv3_ICNTR is implemented | When FEAT_PMUv3_ICNTR is implemented | RO |
0xE00 | PMCFGR | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented | RO |
0xE00 | PMCFGR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented | RO |
0xE04 | PMCR_EL0 | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xE08 | PMIIDR | When FEAT_PMUv3_EXT64 is implemented | When (FEAT_PMUv3_EXT32 is implemented and an implementation implements PMIIDR) or FEAT_PMUv3_EXT64 is implemented | RO |
0xE10 | PMCR_EL0 | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT is implemented | RW |
0xE20 | PMCEID0 | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented | RO |
0xE24 | PMCEID1 | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented | RO |
0xE28 | PMCEID2 | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3p1 is implemented | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3p1 is implemented | RO |
0xE2C | PMCEID3 | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3p1 is implemented | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3p1 is implemented | RO |
0xE30 | PMSSCR_EL1 | When FEAT_PMUv3_SS is implemented | When FEAT_PMUv3_SS is implemented | RO |
0xE40 | PMMIR | When FEAT_PMUv3_EXT64 is implemented or FEAT_PMUv3p9 is implemented | When FEAT_PMUv3_EXT is implemented and FEAT_PMUv3p4 is implemented | RO |
0xE40 | PMMIR | When FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3p9 is not implemented | When FEAT_PMUv3_EXT is implemented and FEAT_PMUv3p4 is implemented | RO |
0xE50 | PMPCSCTL | When FEAT_PCSRv8p9 is implemented | When FEAT_PCSRv8p9 is implemented | RW |
0xF00 | PMITCTRL | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented and an implementation implements PMITCTRL | RW |
0xFA8 | PMDEVAFF | When FEAT_PMUv3_EXT64 is implemented | When FEAT_PMUv3_EXT64 is implemented | RO |
0xFA8 | PMDEVAFF0 | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented | RO |
0xFAC | PMDEVAFF1 | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented | RO |
0xFB0 | PMLAR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented | WO |
0xFB4 | PMLSR | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented | RO |
0xFB8 | PMAUTHSTATUS | - | When FEAT_PMUv3_EXT is implemented | RO |
0xFBC | PMDEVARCH | - | When FEAT_PMUv3_EXT is implemented | RO |
0xFC8 | PMDEVID | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented | RO |
0xFCC | PMDEVTYPE | When FEAT_PMUv3_EXT32 is implemented | When FEAT_PMUv3_EXT32 is implemented and an implementation implements PMDEVTYPE | RO |
0xFD0 | PMPIDR4 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMPIDR4 | RO |
0xFE0 | PMPIDR0 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMPIDR0 | RO |
0xFE4 | PMPIDR1 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMPIDR1 | RO |
0xFE8 | PMPIDR2 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMPIDR2 | RO |
0xFEC | PMPIDR3 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMPIDR3 | RO |
0xFF0 | PMCIDR0 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMCIDR0 | RO |
0xFF4 | PMCIDR1 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMCIDR1 | RO |
0xFF8 | PMCIDR2 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMCIDR2 | RO |
0xFFC | PMCIDR3 | - | When FEAT_PMUv3_EXT is implemented and an implementation implements PMCIDR3 | RO |
Direct accesses to other offsets in this block are RES0.