Interrupts and Exceptions
e200z3 Power Architecture Core Reference Manual, Rev. 2
Freescale Semiconductor
4-13
When a processor is in checkstop state, instruction processing is suspended and generally cannot resume
without the processor being reset. To indicate that a checkstop condition exists, the p_chkstop output is
asserted whenever the CPU is in checkstop state.
When a debug request is presented to the e200z3 core while it is in checkstop state, p_wakeup is asserted,
and when m_clk is provided to the core, it temporarily exits checkstop state and enters debug mode. The
p_chkstop output is negated while the core remains in a debug session (p_debug_b asserted). When the
debug session is exited, the core re-enters checkstop state. Note that the external system logic may be in
an undefined state following a checkstop condition, such as having an outstanding bus transaction or other
inconsistency; thus, no guarantee can be made in general about activities performed in debug mode while
a checkstop is outstanding. Debug logic can generate assertion of p_resetout_b through DBCR0.
4.6.2.3 Non-Maskable Interrupts (NMI) (e200z335 only)
The e200z335 implements a non-maskable interrupt in addition to the machine check sources defined by
<asisitalic>PowerPC Book E. The non-maskable interrupt is signaled via the p_nmi_b input.
Non-maskable interrupt are not gated by MSR[ME], and a non-maskable interrupt occurring with
MSR[ME]=0 does not result in a checkstop condition. Zen provides the MSR[RI] bit to indicate whether
these non-maskable interrupts are potentially recoverable. Since a non-maskable interrupt overwrites the
CSRR0/1 registers, if these registers are currently holding essential state because a critical class interrupt
handler has not yet been able to save this state away safely, and a non-maskable interrupt occurs, no
recovery from the earlier critical class interrupt is possible. The machine check handler may use the value
of CSRR1[RI] to determine if this has occurred. If CSRR1[RI] is cleared, then no recovery is possible,
since MSR[RI] was 0 at the time of the non-maskable interrupt, indicating that the CSRR0/1 registers had
not yet been saved. Critical class and machine check interrupt handlers should save the state of CSRR0/1
and then set MSR[RI] as soon as is practical to ensure the best chance of recovery from a non-maskable
interrupt.
4.6.3
Data Storage Interrupt (IVOR2)
A data storage interrupt may occur if no higher priority exception exists and one of the following exists:
•
Read or write access control exception condition
•
Byte-ordering exception condition
•
External termination error (precise) and MSR[EE]=1
Access control is defined as in Book E. A byte-ordering exception condition occurs for any misaligned
access across a page boundary to pages with mismatched E bits. Precise external termination errors occur
when a load or guarded store is terminated by assertion of a p_d_tea_b=ERROR termination response.
lists register settings when a DSI is taken.
Table 4-11. Data Storage Interrupt Register Settings
Registe
r
Setting Description
SRR0
Set to the effective address of the excepting load/store instruction
SRR1
Set to the contents of the MSR at the time of the interrupt
Содержание e200z3
Страница 1: ...e200z3 Power Architecture Core Reference Manual Supports e200z3 e200z335 e200z3coreRM Rev 2 06 2008 ...
Страница 32: ...e200z3 Power Architecture Core Reference Manual Rev 2 xii Freescale Semiconductor ...
Страница 50: ...Register Model e200z3 Power Architecture Core Reference Manual Rev 2 2 2 Freescale Semiconductor ...
Страница 238: ...Memory Management Unit e200z3 Power Architecture Core Reference Manual Rev 2 5 16 Freescale Semiconductor ...
Страница 332: ...Power Management e200z3 Power Architecture Core Reference Manual Rev 2 8 4 Freescale Semiconductor ...
Страница 424: ...Revision History e200z3 Power Architecture Core Reference Manual Rev 2 A 2 Freescale Semiconductor ...