PMLSR, Performance Monitors Lock Status Register
The PMLSR characteristics are:
Indicates the current status of the software lock for Performance Monitors registers.
It is IMPLEMENTATION DEFINED whether PMLSR is implemented in the Core power domain or in the Debug power domain. Some or all RW fields of this register have defined reset values, and:
- The register is not affected by a Warm reset.
- If the register is implemented in the Core power domain the reset values apply on a Cold reset, and the register is not affected by an External debug reset.
- If the register is implemented in the Debug power domain the reset values apply on an External debug reset, and the register is not affected by a Cold reset.
If ARMv8.3-DoPD is implemented, this register is in the Core power domain. If ARMv8.3-DoPD is not implemented, this register is in the Debug power domain.
PMLSR is RAZ if the Software Lock is not implemented and is RAZ for other accesses to the external debug interface.
The Software Lock provides a lock to prevent memory-mapped writes to the Performance Monitors registers. Use of this lock mechanism reduces the risk of accidental damage to the contents of the Performance Monitors registers. It does not, and cannot, prevent all accidental or malicious damage.
Software uses PMLAR to set or clear the lock, and PMLSR to check the current status of the lock.
PMLSR is a 32-bit register.
The PMLSR bit assignments are:
nTT, bit 
Not thirty-two bit access required. RAZ.
SLK, bit 
Software Lock status for this component. For an access to LSR that is not a memory-mapped access, or when the Software Lock is not implemented, this field is RES0.
For memory-mapped accesses when the software lock is implemented, possible values of this field are:
Lock clear. Writes are permitted to this component's registers.
Lock set. Writes to this component's registers are ignored, and reads have no side effects.
The following resets apply:
If Armv8.3-DoPD is implemented, this register is reset by Cold reset and not affected by External debug reset. If Armv8.3-DoPD is not implemented, this register is reset by External debug reset and not affected by Cold reset.
On a reset, this field resets to 1.
SLI, bit 
Software Lock implemented. For an access to LSR that is not a memory-mapped access, this field is RAZ. For memory-mapped accesses, the value of this field is IMPLEMENTATION DEFINED. Permitted values are:
Software Lock not implemented or not memory-mapped access.
Software Lock implemented and memory-mapped access.
Accessing the PMLSR
PMLSR can be accessed through the memory-mapped interfaces:
This interface is accessible as follows:
- When ARMv8.3-DoPD is not implemented or IsCorePowered() access to this register is RO.
- Otherwise access to this register returns an Error.