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.

If the Security Extensions are implemented<br />

Debug Events<br />

The Secure Local <strong>and</strong> Non-secure Local vector addresses for IRQ <strong>and</strong> FIQ vector catch are<br />

determined by the appropriate banked copy of the SCTRL.VE bit:<br />

If the SCTRL.VE bit is set to 0, then the corresponding Local vector addresses for<br />

IRQ <strong>and</strong> FIQ vector catch are determined by the banked exception base address.<br />

If the SCTRL.VE bit is set to 1, then for each of IRQ <strong>and</strong> FIQ vector catch:<br />

— if the interrupt is taken in Secure or Non-Secure IRQ mode or FIQ mode, then<br />

the corresponding Local vector address is the interrupt vector address supplied<br />

by the interrupt controller on taking the interrupt.<br />

— if the interrupt is taken in Monitor mode, then it is IMPLEMENTATION DEFINED<br />

whether the IRQ <strong>and</strong> FIQ Vector Catch debug events generated from the Local<br />

vector addresses can occur, <strong>and</strong> if they can occur the Secure <strong>and</strong> Non-secure<br />

Local vector addresses for the vector catches are IMPLEMENTATION DEFINED.<br />

The Monitor vector addresses for IRQ <strong>and</strong> FIQ vector catch are determined by the Monitor<br />

exception base address.<br />

When the Vector Catch debug logic uses addresses supplied by the interrupt controller, then:<br />

if the interrupt controller has not supplied an interrupt address to the processor since vectored<br />

interrupt support was enabled then no Vector Catch debug events using Local vector addresses are<br />

generated<br />

if Vector Catch debug events were not enabled when the interrupt controller supplied a vector address<br />

to the processor, but have been enabled since, an implementation must consistently either:<br />

— generate a Vector Catch debug event if the IVA of an instruction matches the Local vector<br />

address<br />

— not generate Vector Catch debug events using any Local vector address.<br />

C3.2.5 Memory addresses<br />

On processors that implement the Virtual Memory System <strong>Architecture</strong> (VMSA), <strong>and</strong> also implement the<br />

Fast Context Switch Extension (FCSE):<br />

It is IMPLEMENTATION DEFINED whether the Instruction Virtual Address (IVA) used in generating<br />

Breakpoint debug events is the Modified Virtual Address (MVA) or Virtual Address (VA) of the<br />

instruction.<br />

It is IMPLEMENTATION DEFINED whether the Data Virtual Address (DVA) used in generating<br />

Watchpoint debug events is the MVA or VA of the data access.<br />

The IVA used in generating Vector Catch debug events is always the VA of the instruction.<br />

The Watchpoint Fault Address Register (DBGWFAR) reads a VA plus an offset that depends on the<br />

processor instruction set state.<br />

The Program Counter Sampling Register (DBGPCSR), if implemented, reads a VA plus an offset that<br />

depends on the processor instruction set state.<br />

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

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

Saved successfully!

Ooh no, something went wrong!