DBGWVR<n>_EL1, Debug Watchpoint Value Registers, n = 0 - 15
The DBGWVR<n>_EL1 characteristics are:
Purpose
Holds a data address value for use in watchpoint matching. Forms watchpoint n together with control register DBGWCR<n>_EL1.
Configuration
External register DBGWVR<n>_EL1 bits [63:0] are architecturally mapped to AArch64 System register DBGWVR<n>_EL1[63:0] .
External register DBGWVR<n>_EL1 bits [31:0] are architecturally mapped to AArch32 System register DBGWVR<n>[31:0] .
DBGWVR<n>_EL1 is in the Core power domain.
If watchpoint n is not implemented then accesses to this register are:
- When IsCorePowered() && !DoubleLockStatus() && !OSLockStatus() && AllowExternalDebugAccess(), RES0.
- Otherwise, a CONSTRAINED UNPREDICTABLE choice of RES0 or ERROR.
Attributes
DBGWVR<n>_EL1 is a 64-bit register.
Field descriptions
The DBGWVR<n>_EL1 bit assignments are:
63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 |
RESS[14:4] | Bits[52:49] | VA[48:2] | |||||||||||||||||||||||||||||
VA[48:2] | RES0 | ||||||||||||||||||||||||||||||
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESS[14:4], bits [63:53]
Reserved, Sign extended. Hardware and software must treat this field as RES0 if the most significant bit of VA is 0 or RES0, and as RES1 if the most significant bit of VA is 1.
Hardware always ignores the value of these bits and it is IMPLEMENTATION DEFINED whether:
- The bits are hardwired to a copy of the most significant bit of VA, meaning writes to these bits are ignored, and reads to the bits always return the hardwired value.
- The value in those bits can be written, and reads will return the last value written. The value held in those bits is ignored by hardware.
VA[52:49], bits [52:49]
When FEAT_LVA is implemented:
When FEAT_LVA is implemented:
Extension to VA[48:2]. See VA[48:2] for more details.
On a Cold reset, this field resets to an architecturally UNKNOWN value.
Otherwise:
Otherwise:
Extension to RESS[14:4]. See RESS[14:4] for more details.
VA[48:2], bits [48:2]
Bits[48:2] of the address value for comparison.
When FEAT_LVA is implemented, VA[52:49] forms the upper part of the address value. Otherwise, VA[52:49] are RESS.
Arm deprecates setting DBGWVR<n>_EL1[2] == 1.
On a Cold reset, this field resets to an architecturally UNKNOWN value.
Bits [1:0]
Reserved, RES0.
Accessing the DBGWVR<n>_EL1
SoftwareLockStatus() depends on the type of access attempted and AllowExternalDebugAccess() has a new definition from Armv8.4. Refer to the Pseudocode definitions for more information.
DBGWVR<n>_EL1 can be accessed through the external debug interface:
Component | Offset | Instance | Range |
---|---|---|---|
Debug | 0x800 + (16 * n) | DBGWVR<n>_EL1 | 63:0 |
This interface is accessible as follows:
- When IsCorePowered(), !DoubleLockStatus(), !OSLockStatus(), AllowExternalDebugAccess() and SoftwareLockStatus() accesses to this register are RO.
- When IsCorePowered(), !DoubleLockStatus(), !OSLockStatus(), AllowExternalDebugAccess() and !SoftwareLockStatus() accesses to this register are RW.
- Otherwise accesses to this register generate an error response.