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_EXT is implemented | RW | |

0xC60 | PMINTENCLR_EL1 | When FEAT_PMUv3_EXT is implemented | RW | |

0xC80 | PMOVSCLR_EL0 | When FEAT_PMUv3_EXT is implemented | RW | |

0xC80 | PMOVSCLR_EL0 | 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_EXT is implemented | RW | |

0xCC0 | PMOVSSET_EL0 | 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.