C6.3 Debug Watchpoint Control Registers

The DBGWCRn characteristics are:

Purpose

Holds control information for a watchpoint. Each DBGWCR is associated with a DBGWVR_EL1 to form a Watchpoint Register Pair (WRP). DBGWCRn is associated with DBGWVRn_EL1 to form WRPn.

The range of n for DBGBCRn is 0 to 3.

Usage constraints

These registers are accessible as follows:

EL0

EL1

(NS)

EL1

(S)

EL2

EL3

(SCR.NS = 1)

EL3

(SCR.NS = 0)

- RW RW RW RW RW
Configurations

The DBGWCRn are architecturally mapped to the external DBGWCRn_EL1 registers.

Attributes

See C6.1 AArch32 debug register summary.

The debug logic reset value of a DBGWCR_EL1 is unknown.

Figure C6-2 DBGWCR
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.


[31:29]

Reserved, res0.

MASK, [28:24]

Address mask. Only objects up to 2GB can be watched using a single mask.

0b0000No mask
0b0001Reserved
0b0010Reserved

Other values mask the corresponding number of address bits, from 0b00011 masking 3 address bits (0x00000007 mask for address) to 0b11111 masking 31 address bits (0x7FFFFFFF mask for address).

[23:21]

Reserved, res0.

WT, [20]

Watchpoint type. Possible values are:

0Unlinked data address match.
1Linked data address match.

On Cold reset, the field reset value is architecturally UNKNOWN.

LBN, [19:16]

Linked breakpoint number. For Linked data address watchpoints, this specifies the index of the Context-matching breakpoint linked to.

On Cold reset, the field reset value is architecturally UNKNOWN.

SSC, [15:14]

Security state control. Determines the Security states under which a watchpoint debug event for watchpoint n is generated. This field must be interpreted along with the HMC and PAC fields.

On Cold reset, the field reset value is architecturally UNKNOWN.

HMC, [13]

Higher mode control. Determines the debug perspective for deciding when a watchpoint debug event for watchpoint n is generated. This field must be interpreted along with the SSC and PACfields.

On Cold reset, the field reset value is architecturally UNKNOWN.

BAS, [12:5]

Byte address select. Each bit of this field selects whether a byte from within the word or double-word addressed by DBGWVRn is being watched. See the ARM® Architecture Reference Manual ARMv8, for ARMv8-A architecture profile for more information.

LSC, [4:3]

Load/store access control. This field enables watchpoint matching on the type of access being made. The possible values are:

0b01Match instructions that load from a watchpointed address.
0b10Match instructions that store to a watchpointed address.
0b11Match instructions that load from or store to a watchpointed address.

All other values are reserved, but must behave as if the watchpoint is disabled. Software must not rely on this property as the behavior of reserved values might change in a future revision of the architecture.

Ignored if E is 0.

On Cold reset, the field reset value is architecturally UNKNOWN.

PAC, [2:1]

Privilege of access control. Determines the exception level or levels at which a watchpoint debug event for watchpoint n is generated. This field must be interpreted along with the SSC and HMCfields.

On Cold reset, the field reset value is architecturally UNKNOWN.

E, [0]

Enable watchpoint n. Possible values are:

0Watchpoint disabled.
1Watchpoint enabled.

On Cold reset, the field reset value is architecturally UNKNOWN.

To access the DBGWCRn:

MRC p14, 0, <Rt>, c0, cn, 7; Read Debug Watchpoint Control Register n
MCR p14, 0, <Rt>, c0, cn, 7; Write Debug Watchpoint Control Register n

The DBGWCRn_EL1 can be accessed through the external debug interface, offset 0x8n8. The range of n for DBGWCRn_EL1 is 0 to 3.

Non-ConfidentialPDF file icon PDF versionARM 100241_0001_00_en
Copyright © 2016, 2017 ARM Limited or its affiliates. All rights reserved.