PowerPC Architecture Compliance
7-10
MPC801 USER’S MANUAL
MOTOROLA
7
As defined in PowerPC
Operating Environment Architecture Book III machine check
interrupts are enabled when MSR
ME
=1. If MSR
ME
= 0 and a machine check interrupt
indication is received, the processor enters the checkstop state. The behavior of the core in
checkstop state is dependent on the working mode as defined in
Section 18.3.1.2 Debug
Mode Enable vs. Debug Mode Disable
. When the processor is in debug mode enable, it
enters the debug mode instead of the checkstop state. When in debug mode disable,
instruction processing is suspended and cannot be restarted without resetting the core.
An indication that can generate an automatic reset in this condition is sent to the system
interface unit. Refer to the
Section 12 System Interface Unit
for more details. If the
machine check interrupt is enabled (MSR
ME
=1) it is taken. If SRR1 Bit 30 =1, the interrupt
is recoverable and the following registers are set.
SRR0—Save/Restore Register 0
Set to the effective address of the instruction that caused the interrupt.
SRR1—Save/Restore Register 1
1
Set to 1 for instruction fetch-related errors and 0 for load/store-related errors.
2–4
Set to 0.
10–15
Set to 0.
Other
Loaded from bits 16–31 of the MSR. In the current implementation, Bit 30 of
the SRR1 is never cleared, except by loading a zero value from MSR
RI
.
MSR—Machine State Register
IP
No change.
ME
Set to 0.
LE
Bit is copied from the ILE.
Other
Set to 0.
When using the load/store bus, the following registers are set:
DSISR—Data/Storage Interrupt Status Register
0–14
Set to 0.
15–16
Set to bits 29–30 of the instruction if X-form and to 0b00 if D-form.
17
Set to Bit 25 of the instruction if X-form and to Bit 5 if D-form.
18–21
Set to bits 21–24 of the instruction if X-form and to bits 1–4 if D-form.
22–31
Set to bits 6–15 of the instruction.
DAR—Data Address Register
Set to the effective address of the data access that caused the interrupt.
Execution resumes at offset x’00200’ from the base address indicated by MSR
IP
.
7.3.7.3.3 Data Storage Interrupt.
A data storage interrupt is never generated by the
hardware. However, the software can branch to this location as a result of either an
implementation specific data TLB error or miss interrupt.