Chapter 11. Performance Monitor
11-9
Special-Purpose Registers Used by the Performance Monitor
11.3.1.6 User Monitor Mode Control Register 2 (UMMCR2)
The contents of MMCR2 are reected to UMMCR2, which can be read by user-level
software. UMMCR2 can be accessed with the
mfspr
instructions using SPR 928.
11.3.2 Breakpoint Address Mask Register (BAMR)
The breakpoint address mask register (BAMR), shown in Table 11-4, is used in conjunction
with the events that monitor IABR and DABR hits.
Figure 11-4. Breakpoint Address Mask Register (BAMR)
Table 11-6 describes BAMR Telds.
11.3.2.1 User Breakpoint Address Mask Register (UBAMR)
The contents of BAMR are reected to UBAMR, which can be read by user-level software.
UBAMR can be accessed with the
mfspr
instructions using SPR 935.
2
SMINTENABLE
SMINTENABLE is used to mask the performance monitor interrupt request from a
peripheral performance monitor.
0 Ignore SMI.
1 When SMI is asserted, take a performance monitoring interrupt if enabled in MMCR0
and MSR[EE]. This event can be used to freeze the counters (MMCR0[FCECE]), trigger
the counters (MMCR0[TRIGGER]), or signal an exception (MMCR0[PMXE]).
When SMINTENABLE = 1, the MPC7400 never takes an SMI.
Table 11-6. BAMR Field Descriptions
Bit
Name
Description
0D31
MASK
Used with events (PMC1 events 9 and 10) that monitor IABR and DABR hits. The addresses to be
compared for an IABR or DABR match are affected by the value in BAMR:
¥ IABR hit (PMC1, event 8) occurs if IABR_CMP (that is, IABR AND BAMR) =
instruction_address_compare (that is, EA AND BAMR)
IABR_CMP[0D29] = IABR[0D29] AND BAMR[0D29]
instruction_addr_cmp[0D29] = instruction_addr[0D29] AND BAMR[0D29]
¥ DABR hit (PMC1, event 9) occurs if DABR_CMP (that is, DABR AND BAMR) =
effective_address_compare (that is, EA AND BAMR).
DABR_CMP[0D28] = DABR[0D28] AND BAMR[0D28]
effective_addr_cmp[0D28] = effective_addr[0D28] AND BAMR[0D28]
Be aware that breakpoint events 9 and 10 of PMC1 can be used to trigger ISI and DSI exceptions
when the performance monitor detects an enabled overow. This feature supports debug purposes
and occurs only when IABR[30] and/or DABR[30D31] are set. To avoid taking one of the above
interrupts, make sure that IABR[30] and/or DABR[30D31] are cleared.
Table 11-5. MMCR2 Field Descriptions (Continued)
Bits
Name
Description
0
31
MASK