05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Debug Registers <strong>Reference</strong><br />

C10.3.2 Watchpoint Fault Address Register (DBGWFAR)<br />

The Watchpoint Fault Address Register, DBGWFAR, returns information about the address of the<br />

instruction that accessed a watchpointed address.<br />

The DBGWFAR:<br />

is debug register 6 at offset 0x018<br />

is a read/write register<br />

is implemented differently in different versions of the Debug architecture:<br />

v6 Debug In v6 Debug, the DBGWFAR can be accessed only through CP15.<br />

v6.1 Debug<br />

In v6.1 Debug, the DBGWFAR can be accessed through the debug register interfaces,<br />

<strong>and</strong> using the CP15 access is deprecated.<br />

v7 Debug In v7 Debug, the CP15 encoding used for the DBGWFAR in v6 Debug is UNDEFINED in<br />

User mode <strong>and</strong> UNPREDICTABLE in privileged modes. The DBGWFAR can be accessed<br />

only through the debug register interfaces.<br />

The format of the DBGWFAR is:<br />

31 0<br />

(Instruction address) + offset<br />

(Instruction address) + offset, bits [31:0]<br />

When Watchpoint debug events are permitted, on every Watchpoint debug event the<br />

DBGWFAR is updated with the address of the instruction that accessed the watchpointed<br />

address plus an offset that depends on the processor instruction set state when the instruction<br />

was executed:<br />

8 if the processor was in <strong>ARM</strong> state<br />

4 if the processor was in Thumb or ThumbEE state<br />

an IMPLEMENTATION DEFINED offset if the processor was in Jazelle state.<br />

See Memory addresses on page C3-23 for a definition of the Instruction Virtual Address<br />

(IVA) used to update the DBGWFAR.<br />

The debug logic reset value of the DBGWFAR is UNKNOWN.<br />

A processor with a trivial implementation of the Jazelle extension can implement DBGWFAR[0] as<br />

RAZ/WI, see Trivial implementation of the Jazelle extension on page B1-81 for more information. In such<br />

an implementation, software must use a SBZP policy when writing to DBGWFAR[0].<br />

C10-28 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!