The PMU characteristics are:
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 or FEAT_PMUv3_SME 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 or FEAT_PMUv3_SME 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_EXT 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_PMUv3p4 is implemented and (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_PMUv3p4 is implemented, 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_EXT is implemented | When FEAT_PMUv3_EXT 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_EXT is implemented | When FEAT_PMUv3_EXT is implemented | WO |
| 0xFB4 | PMLSR | When FEAT_PMUv3_EXT is implemented | When FEAT_PMUv3_EXT 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_EXT is implemented | When FEAT_PMUv3_EXT is implemented | RO |
| 0xFCC | PMDEVTYPE | When FEAT_PMUv3_EXT is implemented | When FEAT_PMUv3_EXT 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.
26/03/2024 09:49; 67c0ae5282a7629ba0ea0ba7267b43cd4f7939f6
Copyright © 2010-2024 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.