![Intel IXP45X Developer'S Manual Download Page 117](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092117.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
117
Intel XScale
®
Processor—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
3.6.5.2
Monitor Mode
In monitor mode, the processor handles debug exceptions like normal Intel
®
StrongARM
*
exceptions. If debug functionality is enabled (DCSR[31] = 1) and the
processor is in Monitor mode, debug exceptions cause either a data abort or a pre-fetch
abort.
The following debug exceptions cause data aborts:
• Data breakpoint
• External debug break
• Trace-buffer full break
The following debug exceptions cause pre-fetch aborts:
• Instruction breakpoint
• BKPT instruction
The processor ignores vector traps during monitor mode.
When an exception occurs in monitor mode, the processor takes the following actions:
• Disables the trace buffer
• Sets DCSR.moe encoding
• Sets FSR[9]
• R14_abt = PC of the next instruction to e 4 (for Data Aborts)
R14_abt = PC of the faulting instr 4 (for Prefetch Aborts)
• SPSR_abt = CPSR
• CPSR[4:0] = 0b10111 (ABORT mode)
• CPSR[5] = 0
• CPSR[6] = unchanged
• CPSR[7] = 1
• PC = 0xc (for Prefetch Aborts),
PC = 0x10 (for Data Aborts)
During abort mode, external debug breaks and trace buffer full breaks are internally
pended. When the processor exits abort mode, either through a CPSR restore or a write
directly to the CPSR, the pended debug breaks will immediately generate a debug
exception. Any pending debug breaks are cleared out when any type of debug
exception occurs.
When exiting, the debug handler should do a CPSR restore operation that branches to
the next instruction to be executed in the program under debug.
3.6.6
HW Breakpoint Resources
The debug architecture of the IXP45X/IXP46X network processors defines two
instruction and two data breakpoint registers, denoted IBCR0, IBCR1, DBR0, and
DBR1.
The instruction and data address breakpoint registers are 32-bit registers. The
instruction breakpoint causes a break before execution of the target instruction. The
data breakpoint causes a break after the memory access has been issued.