Events and Performance Monitor
ARM DDI 0363E
Copyright © 2009 ARM Limited. All rights reserved.
6-15
ID013010
Non-Confidential, Unrestricted Access
6.3.9
c9, Performance Monitor Count Registers
There are three PMC Registers (PMC0-PMC2) in the processor. Each PMC Register, as selected
by the PMNXSEL Register, counts instances of an event selected by the EVTSEL Register. Bits
[31:0] of each PMC Register contain an event count. The register to be accessed is determined
by the value in the Performance Counter Selection Register.
Each PMC Register is:
•
A read/write register
•
Always accessible in Privileged mode. The USEREN Register determines access, see
c9,
User Enable Register
.
To access the current Performance Monitor Count Registers, read or write CP15 with:
MRC p15, 0, <Rd>, c9, c13, 2 ; Read current PMNx Register
MCR p15, 0, <Rd>, c9, c13, 2 ; Write current PMNx Register
6.3.10
c9, User Enable Register
The
USER ENable
(USEREN) Register enables User mode to have access to:
•
the performance monitor registers, see
Performance monitoring registers
on page 6-7
•
the validation registers, see
Validation Registers
on page 4-62.
Note
The USEREN Register does not provide access to the registers that control interrupt generation.
The USEREN Register is:
•
a read/write register
•
writable only in Privileged mode, readable in any processor mode.
Figure 6-8 shows the bit arrangement for the USEREN Register.
Figure 6-8 USEREN Register format
Table 6-9 shows how the bit values correspond with the Performance Monitor Count Enable Set
Register.
If the EN bit in the USEREN Register is not set, any attempt to access a performance monitor
register or a validation register from User mode causes an Undefined instruction exception.
31
1
0
Reserved
EN
Table 6-9 USEREN Register bit functions
Bits Field
Function
[31:1]
Reserved
RAZ or SBZP.
[0]
EN
User mode access to performance monitor and validation registers:
0 = Disabled. This is the reset value.
1 = Enabled.