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.
Содержание ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Страница 1: ......
Страница 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 12: ...1 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I Application Architecture Guide ...
Страница 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Страница 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Страница 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Страница 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Страница 230: ......
Страница 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 249: ...2 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I System Architecture Guide ...
Страница 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Страница 380: ...2 132 Volume 2 Part 1 Interruptions ...
Страница 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Страница 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Страница 749: ...2 501 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part II System Programmer s Guide ...
Страница 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Страница 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Страница 808: ...2 560 Volume 2 Part 2 Context Management ...
Страница 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Страница 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Страница 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Страница 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Страница 891: ......
Страница 941: ...3 42 Volume 3 Instruction Reference cmp illegal_operation_fault PR p1 0 PR p2 0 Interruptions Illegal Operation fault ...
Страница 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Страница 1191: ...3 292 Volume 3 Pseudo Code Functions Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Страница 1296: ......
Страница 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 1564: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1565: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1568: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1583: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 1663: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 1668: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...