10.4.8. Watchpoint Control Registers

The DBGWCR characteristics are:

Purpose

Holds control information for a watchpoint.

Usage constraints

Used in conjunction with a DBGWVR, see Watchpoint Value Registers. Each DBGWCR is associated with a DBGWVR to form a Watchpoint Register Pair (WRP). DBGWCRn is associated with DBGWVRn to form WRPn.

Configurations

The processor implements 4 WRPs, and is specified by the DBGDIDR.WRPs field, see Debug Identification Register.

Attributes

See the register summary in Table 10.1. The debug logic reset value of a DBGWCR is UNK.

Figure 10.9 shows the DBGWCR bit assignments.

Figure 10.9. DBGWCR bit assignments

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Table 10.10 shows the DBGWCR bit assignments.

Table 10.10. DBGWCR bit assignments

BitsNameFunction
[31:29]-

Reserved.

[28:24]Mask

Address mask. The processor supports watchpoint address masking. This field can be used to set a watchpoint on a range of addresses by masking lower order address bits out of the watchpoint comparison.

See the ARM Architecture Reference Manual more information.

[23:21]-

Reserved.

[20]WT

Watchpoint Type. This bit is set to 1 if this WRP is linked to a BRP to set a linked watchpoint that requires both data address and Context ID comparison:

0

Linking disabled.

1

Linking enabled.

When this bit is set to 1 the linked BRP number field indicates the BRP to which this WRP is linked. See the ARM Architecture Reference Manual for more information.

[19:16]LBN

Linked Breakpoint Number. If this WRP is programmed with linking enabled then this field must be programmed with the number of the BRP that holds the Context ID to be used for the combined data address and Context ID comparison. Otherwise, this field must be programmed to 0b0000.

Reading this register returns an Unknown value for this field, and the generation of Watchpoint debug events is unpredictable, if either:

  • this WRP does not have linking enabled and this field is not programmed to 0b0000

  • this WRP has linking enabled and the BRP indicated by this field does not support Context ID comparison or is not programmed for Linked Context ID match.

See the ARM Architecture Reference Manual for more information.

[15:14]SSC

Security State Control. This field is used with the HMC and Privileged Access Control (PAC) fields.

See the ARM Architecture Reference Manual for possible values of the fields, and the access modes and security states that can be tested.

[13]HMC

Hyp Mode Control. This field is used with the SSC and PAC fields. The value of DBGWCR.PAC has no effect for accesses made in Hyp mode.

See the ARM Architecture Reference Manual for possible values of the fields, and the access modes and security states that can be tested.

[12:5]BAS

Byte Address Select. The processor implements an 8-bit Byte address select field, DBGWCR[12:5].

A DBGWVR is programmed with a word-aligned address. This field enables thewatchpoint to hit only if certain bytes of the addressed word are accessed. The watchpoint hits if an access hits any byte being watched, even if:

  • the access size is larger than the size of the region being watched

  • the access is unaligned, and the base address of the access is not in the same word of memory as the address in the DBGWVR.

See the ARM Architecture Reference Manual for more information.

[4:3]LSC

Load/store access control. This field enables watchpoint matching conditional on the type of access being made:

0b00

Reserved.

0b01

Match on any load, Load-Exclusive, or swap.

0b10

Match on any store, Store-Exclusive or swap

0b11

Match on either type of access.

[2:1]PAC

Privileged Access Control. This field enables watchpoint matching conditional on the mode of the processor.

See the ARM Architecture Reference Manual for information on the modes in which a match occurs.

Note

Bits[2:1] has no effect for accesses made in Hyp mode.

[0]WE

Watchpoint Enable. This bit enables the WRP:

0

WRP disabled.

1

WRP enabled.

A WRP never generates a Watchpoint debug event when it is disabled.

For more information about WRPs and the possible watchpoints, see Watchpoint Value Registers.

Note

The value of DBGWCR[0] is Unknown on reset. A debugger must ensure that DBGWCR[0] has a defined value before it programs DBGDSCR[15:14] to enable debug.


Copyright © 2011, 2012 ARM. All rights reserved.ARM DDI 0464D
Non-ConfidentialID052812