AArch32 Registers | AArch64 Registers | AArch32 Instructions | AArch64 Instructions | Index by Encoding | External Registers | External Registers by Offset | Registers by Functional Group | Proprietary Notice

# PMU

The PMU characteristics are:

## Attributes

PMU is a block of size: 4096 bytes

## Contents

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.

AArch32 Registers | AArch64 Registers | AArch32 Instructions | AArch64 Instructions | Index by Encoding | External Registers | External Registers by Offset | Registers by Functional Group | Proprietary Notice

26/03/2024 09:49; 67c0ae5282a7629ba0ea0ba7267b43cd4f7939f6

Copyright © 2010-2024 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.