You copied the Doc URL to your clipboard.

Debug Watchpoint Control Registers, EL1

The DBGWCRn_EL1characteristics are:

Purpose

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

Note

The range of n for DBGBCRn_EL1 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_EL1 is architecturally mapped to:

  • The AArch32 DBGWCRn registers.

  • The external DBGWCRn_EL1 registers.

Attributes

See the register summary in Table 11.3.

The debug logic reset value of a DBGWCR_EL1 is unknown.

Figure 11.3 shows the DBGWCRn_EL1 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 11.5 shows the DBGWCRn_EL1 bit assignments.

Table 11.5. DBGWCRn_EL1 bit assignments
Bits Name Function
[31:29] -

Reserved, res0.

[28:24] MASK

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

0b0000

No mask

0b0001

Reserved

0b0010

Reserved

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.

[20] WT

Watchpoint type. Possible values are:

0

Unlinked data address match.

1

Linked data address match.

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

[19:16] LBN

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

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

[15:14] SSC

Security state control. Determines the Security states under which a watchpoint debug event forwatchpoint 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.

[13] HMC

Higher mode control. Determines the debug perspective for deciding when a watchpoint debugevent 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.

[12:5] BAS

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

[4:3] LSC

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

0b01

Match instructions that load from a watchpointed address.

0b10

Match instructions that store to a watchpointed address.

0b11

Match 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.

[2:1] PAC

Privilege of access control. Determines the exception level or levels at which a watchpoint debugevent 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.

[0] E

Enable watchpoint n. Possible values are:

0

Watchpoint disabled.

1

Watchpoint enabled.

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


To access the DBGWCRn in AArch32 Execution state, read or write the CP14 register with:

	
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

To access the DBGWCRn_EL1 in AArch64 Execution state, read or write the register with:

	
MRS <Xt>, DBGWCRn_EL1; Read Debug Watchpoint Control Register n
MSR DBGWCRn_EL1, <Xt>; Write Debug Watchpoint Control Register n

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

Was this page helpful? Yes No