IDT EJTAG System
Hardware Breakpoints
79RC32438 User Reference Manual
20 - 36
November 4, 2002
Notes
The PC, IBAnIBA, and IBMnIBM fields are 32 bits wide for 32-bit processors and 64 bits wide for 64-bit
processors.
The equation that determines the match is shown below with “C”-like operators. In the equation, 0
means all bits are 0’s, and ~0 means all bits are 1’s. The widths are similar to the widths of the parameters.
The match equation is IB_match, and is dependent on whether MIPS16 is supported or not.
If there is no support for MIPS16 then the IB_match equation is:
IB_match =
( ! IBCn
ASIDuse
|| ( ASID = = IBASIDn
ASID
) ) &&
( ( IBMn
IBM
| ~ ( PC ^ IBAn
IBA
) ) = = ~0 )
If MIPS16 is supported then the IB_match equation is shown below, in which case the ISAmode bit is
compared with bit 0 of IBAn
IBA
instead of compare with bit 0 in PC:
IB_match =
( ! IBCn
ASIDuse
|| ( ASID = = IBASIDn
ASID
) ) &&
( ( IBMn
IBM
| ~ ( ( ( PC[MSB:1] << 1 ) + ISAmode ) ^ IBAn
IBA
) ) = = ~0 )
The IB_match equation also applies to 64-bit processors running in 32-bit addressing mode, in which
case all 64 bits are compared between the PC and the IBAn
IBA
register. The match indication for instruction
breakpoints is always precise; that is, it is indicated on the instruction causing the IB_match to be true. It is
implementation dependent for an instruction breakpoint to match when the memory system does not ever
respond to the fetch or generates a bus error from a system watchdog. If no match occurs, then the
processor hangs without the instruction breakpoint generating either a debug exception or a trigger.
Parameter
Description
Width
ASID
ASID field in EntryHi CP0 register.
8 bits
IBCn
ASIDuse
Use ASID value in compare for instruction breakpoint
n:
0: Do not use ASID value in compare
1: Use ASID value in compare
1 bit
IBASIDn
ASID
Conditional Instruction breakpoint n ASID value for
comparing.
8 bits
PC
Virtual address of instruction boundary or target for
jump/branch.
32 / 64 bits
ISAmode
Used only when MIPS16 ISA support is imple-
mented. It indicates the ISA mode for the executed
instruction or the mode at the target of a jump/
branch:
0: 32-bit MIPS instruction
1: MIPS16 instruction
1 bit
IBAn
IBA
Instruction breakpoint n address for compare with
conditions.
32 / 64 bits
IBMn
IBM
Instruction breakpoint n address mask condition:
0: Corresponding address bit compared
1: Corresponding address bit masked
32 / 64 bits
Table 20.22 Instruction Breakpoint Condition Parameters