The purpose of the Watchpoint Value Registers (WVRs) is to hold a DVA value that is to be used as a breakpoint for debugging purposes.
The WVRs are:
in CP14 c96 - c97
two 32-bit read-write registers
only accessible in privileged mode, with debug monitor mode enabled.
The WVRs can only be used in conjunction with the Watchpoint Control Registers (WCRs), see CP14 c112-c113, Watchpoint Control Registers (WCR). Each WVR is associated with a WCR, to form a Watchpoint Register Pair (WRP). This pairing is described in Overview of breakpoint and watchpoint registers on the ARM1136JF-S processor.
Figure 13.11 shows the arrangement of bits in the registers.
Table 13.22 shows the bit functions of the Watchpoint Value Registers.
|[31:2]||RW||Watchpoint address (DVA)|
Because a WVR can only be used as part of a WRP, use of the WVRs is described in CP14 c112-c113, Watchpoint Control Registers (WCR).
Table 13.23 shows the results of attempted accesses to the Watchpoint Value Registers for each mode.
|Privileged read,[a] DSCR[15:14][b]=b10||Privileged write,[a] DSCR[15:14][b]=b10||Privileged read or write, DSCR[15:14][b] !=b10||User read or write|
|Data read||Data write||Undefined Instruction exception||Undefined Instruction exception|
[a] These accesses are also possible when the processor is in Debug state.
To access the Watchpoint Value Registers you read or write CP14 with:
Opcode_1 set to 0
CRn set to c0
CRm set to the number of the WVR you want to access, either c0 for WVR0 or c1 for WRV1
Opcode_2 set to 6.
MRC p14,0,<Rd>,c0,c1,6 ; Read Watchpoint Value Register 1
MCR p14,0,<Rd>,c0,c0,6 ; Write Watchpoint Value Register 0