Volume 2, Part 1: Interruptions
2:101
• If more than one trap is triggered (such as Unimplemented Instruction Address
trap, Lower-Privilege Transfer trap, and Single Step trap) the highest priority
trap is taken. The ISR.code contains a bit vector with one bit set for each trap
triggered.
A sequential execution model is presented in the preceding description.
Implementations are free to use a variety of performance techniques such as pipelined,
speculative, or out-of-order execution provided that, to the programmer, the illusion
that instructions are executed sequentially is preserved.
5.4
PAL-based Interruption Handling
PAL-based interruption handling requires the processor to transfer control to the PAL
firmware. The PAL firmware will execute handling code and set up the architected exit
state before transferring control to the SAL firmware. See
for more details on the architected exit state between the PAL and
SAL firmware layers for PAL-based interruption handling.
It is strongly recommended that software ensure that, if machine check aborts are
masked (PSR.mc), external interrupts are also masked (PSR.i). This will avoid cases
where a corrected machine check interrupt (a lower priority interrupt) is handled before
a machine check abort, which would cause an escalation in machine check abort
severity when machine check aborts are unmasked.
5.5
IVA-based Interruption Handling
IVA-based interruption handling is implemented as a fast context switch. On IVA-based
interruptions, instruction and data translation is left unchanged, the endian mode is set
to the system default, and delivery of most PSR-controlled interruptions is disabled
(including delivery of asynchronous events such as external interrupts). The processor
is responsible for saving only a minimal amount of state in the interruption resource
registers prior to vectoring to the Itanium architecture-based software handler.
When an interruption occurs, the processor takes the following actions:
1. If PSR.ic is 0:
• IPSR, IIP, IIPA, IIB0-1, and IFS.v are unchanged.
• Interruption-specific resources IFA, IIM, and IHA are unchanged.
If PSR.ic is 1:
• PSR is saved in IPSR. If PSR is in-flight, IPSR will get the most recent in-flight
value of PSR (i.e., PSR is serialized by the processor before it is written into
IPSR). For Itanium traps, the value written to IPSR.ri is the next instruction slot
that would have been executed if there had been no trap. For all other
interruptions, the value written to IPSR.ri is the instruction slot on which the
interruption occurred (1 for interruptions on the L+X instruction of an MLX). For
interruptions in the IA-32 instruction set, IPSR.ri is set to 0.
• IP is written into IIP. For faults and external interrupts, the saved IP is the IP at
which the interruption occurred. For traps, the saved IP is the value after the
execution of the IA-32 or Itanium instruction which caused the trap. For
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...