Volume 2, Part 1: Interruptions
2:121
ssm PSR.i
;;
srlz.d
// external interrupts may be sampled anywhere here
;;
rsm PSR.i
The stop following the
srlz.d
instruction in the above code sequence is required to
force the Reset System Mask (
rsm
) instruction into a subsequent instruction group. The
stop guarantees that the
srlz.d
will open the external interrupt window for at least one
cycle before the
rsm
instruction closes it again.
Note:
In the above code sequence, the effect of disabling interrupts due to the
rsm
instruction is observed on the next instruction following the
rsm
.
5.8.2.3
Disabling of External Interrupt Delivery and rsm
When the current privilege level is zero, an
rsm
instruction whose mask includes PSR.i
may cause external interrupt delivery to be disabled for an implementation-dependent
number of instructions, even if the qualifying predicate for the
rsm
instruction is false.
Architecturally, the extents of this delivery disable “window” are defined as follows:
1. External interrupt delivery may be disabled for any instructions in the same
instruction group as the
rsm
, including those that precede the
rsm
in sequential
program order, regardless of the value of the qualifying predicate of the
rsm
instruction.
2. If the qualifying predicate of the
rsm
is true, then external interrupt delivery is
disabled immediately following the
rsm
instruction.
3. If the qualifying predicate of the
rsm
is false, then external interrupt delivery may
be disabled until the next data serialization operation that follows the
rsm
instruction.
The delivery disable window is guaranteed to be no larger than defined by the above
criteria, but it may be smaller, depending on the implementation.
When the current privilege level is non-zero, an
rsm
instruction whose mask includes
PSR.i may briefly disable external interrupt delivery, regardless of the value of the
qualifying predicate of the
rsm
instruction. However, the implementation guarantees
that non-privileged code cannot lock out external interrupts indefinitely (e.g., via an
arbitrarily long sequence of
rsm
PSR.i instructions with zero-valued qualifying
predicates).
5.8.3
External Interrupt Control Registers
Software interacts with external interrupts by reading and writing the external interrupt
control registers (CR64-81). These registers are summarized in
, and are used
to prioritize and deliver external interrupts, and to assign external interrupt vectors for
processor-internal interrupt sources such as interval timer, performance monitoring,
and corrected machine check.
The external interrupt control registers can only be accessed at privilege level 0,
otherwise a Privileged Operation fault is raised.
Содержание 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 ...