EDLSR, External Debug Lock Status Register
The EDLSR characteristics are:
Purpose
Indicates the current status of the software lock for external debug registers.
The optional Software Lock provides a lock to prevent memory-mapped writes to the debug registers. Use of this lock mechanism reduces the risk of accidental damage to the contents of the debug registers. It does not, and cannot, prevent all accidental or malicious damage.
Configuration
It is IMPLEMENTATION DEFINED whether EDLSR 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.4-Debug is implemented, the Software Lock is not implemented.
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.
Software uses EDLAR to set or clear the lock, and EDLSR to check the current status of the lock.
Attributes
EDLSR is a 32-bit register.
Field descriptions
The EDLSR bit assignments are:
Bits [31:3]
Reserved, RES0.
nTT, bit [2]
Not thirty-two bit access required. RAZ.
SLK, bit [1]
When the Software Lock is implemented.:
When the Software Lock is implemented.:
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:
SLK | Meaning |
---|---|
0b0 |
Lock clear. Writes are permitted to this component's registers. |
0b1 |
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.
Otherwise:
Otherwise:
Reserved, RAZ.
SLI, bit [0]
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:
SLI | Meaning |
---|---|
0b0 |
Software Lock not implemented or not memory-mapped access. |
0b1 |
Software Lock implemented and memory-mapped access. |
Accessing the EDLSR
EDLSR can be accessed through the memory-mapped interfaces:
Component | Offset | Instance |
---|---|---|
Debug | 0xFB4 | EDLSR |
This interface is accessible as follows:
- When ARMv8.3-DoPD is not implemented or IsCorePowered() accesses to this register are RO.
- Otherwise accesses to this register generate an error response.