2:542
Volume 2, Part 2: Interruptions and Serialization
“Interruption Vector Descriptions”
for details. Software can use the instruction
bundle information for debug and emulation purposes.
No other architectural state is modified when an interruption occurs. Note that only IIP,
IPSR, ISR, and IFS are written by all interruptions (assuming PSR.ic is 1 at the time of
interruption); the other interruption control registers are only written by certain
interruptions, and their values are undefined otherwise. For details on which faults
update which interruption resources refer to
Chapter 8, “Interruption Vector
Chapter 9, “IA-32 Interruption Vector Descriptions.”
3.3.3
Resource Serialization of Interrupted State
As defined in
Section 3.2, “Serialization” on page 2:17
, Itanium control register
updates do not take effect until software explicitly serializes the processor’s data or
instruction stream with a
srlz.d
or a
srlz.i
instruction, respectively. Control register
updates that change a control register’s value and that have not yet been serialized are
termed “in-flight.” Refer to
Section 3.2.3, “Definition of In-flight Resources” on
for a precise definition.
When an interruption is delivered and before execution begins in the interruption
handler, the processor hardware automatically performs an instruction and data
serialization on all "in-flight" resources. As described in
above, the following resources determine the execution environment of the interruption
handler:
• CR[IVA] – determines new IP
• CR[DCR].be – determines new value of PSR.be
• CR[DCR].pp – determines new value of PSR.pp
• PSR.ic – determines whether interruption collection is enabled
• RR[7:0] – determines new value of CR[ITIR] and CR[IHA]
• CR[PTA] – determines new value of CR[IHA]
Although these resources are guaranteed to be serialized prior to interruption handler
execution, there is no guarantee that they will be serialized prior to the determination
of the handler's execution environment. If there is a value in-flight for any of these
resources at the time of interruption delivery, either the old or new value may be used
to generate the values of IP, PSR, CR[ITIR] and CR[IHA] seen by the handler.
As a result, if the handler requires the latest value of the listed resources to determine
its execution environment, software must ensure that external interrupts are disabled
and that no instruction or data references will take an exception until the resource
updates have been appropriately serialized. Typically, the code toggling these resources
is mapped by an instruction translation register to avoid TLB related faults.
Note that CR[IPSR] is guaranteed to get the latest value of the PSR on an interruption,
even if there are PSR updates in-flight that have not been previously serialized by
software.
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 ...