PowerPC e500 Core Family Reference Manual, Rev. 1
5-8
Freescale Semiconductor
Interrupts and Exceptions
5.4
Exceptions
Exceptions are caused directly by instruction execution or by an asynchronous event. In either
case, the exception may cause one of several types of interrupts to be invoked.
The following examples are of exceptions caused directly by instruction execution:
•
An attempt to execute a reserved-illegal instruction (illegal instruction exception-type
program interrupt)
•
An attempt by an application program to execute a privileged instruction or to access a
privileged SPR (privileged instruction exception-type program interrupt)
•
In general, an attempt by an application program to access a nonexistent SPR
(unimplemented operation instruction exception-type program interrupt). Note the
following behavior defined by the EIS:
— If MSR[PR] = 1 (user mode), SPR bit 5 = 0 (user-accessible SPR), and the SPR number
is invalid, an illegal instruction exception is taken.
— If MSR[PR] = 0 (supervisor mode) and the SPR number is invalid, an illegal instruction
exception is taken.
— If MSR[PR] = 1, SPR bit 5 = 1, and invalid SPR address (supervisor-only SPR), a
privileged instruction exception-type program interrupt is taken.
•
Execution of a defined instruction using an invalid form (illegal instruction exception-type
program interrupt, unimplemented operation exception-type program interrupt, or
privileged instruction exception-type program interrupt). The e500 does not support
unimplemented operation exceptions. Such conditions are processed as illegal instruction
exceptions.
•
An attempt to access a location that is either unavailable (instruction or data TLB error
interrupt) or not permitted (instruction or data storage interrupt)
•
An attempt to access a location with an effective address alignment not supported by the
implementation (alignment interrupt)
•
Execution of a System Call (sc) instruction (system call interrupt)
•
Execution of a trap instruction whose trap condition is met (trap interrupt type)
•
Execution of a defined instruction that is not implemented (illegal instruction exception or
unimplemented operation exception-type program interrupt)
•
Execution of an allocated instruction that is not implemented (illegal instruction exception
or unimplemented operation exception-type program interrupt)
Invocation of an interrupt is precise. When the interrupt is invoked imprecisely, the excepting
instruction does not appear to complete before the next instruction starts (because the invocation
of the interrupt required to complete execution has not occurred).
Summary of Contents for PowerPC e500 Core
Page 1: ...PowerPC e500 Core Family Reference Manual Supports e500v1 e500v2 E500CORERM Rev 1 4 2005...
Page 36: ...PowerPC e500 Core Family Reference Manual Rev 1 xxxvi Freescale Semiconductor...
Page 38: ...PowerPC e500 Core Family Reference Manual Rev 1 Part I 2 Freescale Semiconductor...
Page 332: ...PowerPC e500 Core Family Reference Manual Rev 1 Part II 2 Freescale Semiconductor...
Page 530: ...Opcode Listings PowerPC e500 Core Family Reference Manual Rev 1 D 50 Freescale Semiconductor...
Page 534: ...PowerPC e500 Core Family Reference Manual Rev 1 E 4 Freescale Semiconductor Revision History...