![Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3 Manual Download Page 1138](http://html.mh-extra.com/html/intel/itanium-architecture-software-developers-volume-3-rev-2-3/itanium-architecture-software-developers-volume-3-rev-2-3_manual_20734041138.webp)
Volume 3: Instruction Reference
3:239
rsm
rsm — Reset System Mask
Format:
(
qp
) rsm
imm
24
Description:
The complement of the
imm
24
operand is ANDed with the system mask (PSR{23:0}) and
the result is placed in the system mask. See
Section 3.3.2, “Processor Status Register
The PSR system mask can only be written at the most privileged level, and when
PSR.vm is 0.
When the current privilege level is zero (PSR.cpl is 0), an
rsm
instruction whose mask
includes PSR.i may cause external interrupts 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 external interrupt
disabling “window” are defined as follows:
• External interrupts 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.
• If the qualifying predicate of the
rsm
is true, then external interrupts are disabled
immediately following the
rsm
instruction.
• If the qualifying predicate of the
rsm
is false, then external interrupts may be
disabled until the next data serialization operation that follows the
rsm
instruction.
The external interrupt disable window is guaranteed to be no larger than defined by the
above criteria, but it may be smaller, depending on the processor implementation.
When the current privilege level is non-zero (PSR.cpl is not 0), an
rsm
instruction whose
mask includes PSR.i may briefly disable external interrupts, regardless of the value of
the qualifying predicate of the
rsm
instruction. However, processor implementations
guarantee that non-privileged code cannot lock out external interrupts indefinitely
(e.g., via an arbitrarily long sequence of
rsm
instructions with zero-valued qualifying
predicates).
Operation:
if (PR[
qp
]) {
if (PSR.cpl != 0)
privileged_operation_fault(0);
if (is_reserved_field(PSR_TYPE, PSR_SM,
imm
24
))
reserved_register_field_fault();
if (PSR.vm == 1)
virtualization_fault();
if (
imm
24
{1})
PSR{1} = 0;)
// be
if (
imm
24
{2})
PSR{2} = 0;)
// up
if (
imm
24
{3})
PSR{3} = 0;)
// ac
if (
imm
24
{4})
PSR{4} = 0;)
// mfl
if (
imm
24
{5})
PSR{5} = 0;)
// mfh
if (
imm
24
{13})
PSR{13} = 0;)
// ic
if (
imm
24
{14})
PSR{14} = 0;)
// i
if (
imm
24
{15})
PSR{15} = 0;)
// pk
if (
imm
24
{17})
PSR{17} = 0;)
// dt
if (
imm
24
{18})
PSR{18} = 0;)
// dfl
if (
imm
24
{19})
PSR{19} = 0;)
// dfh
if (
imm
24
{20})
PSR{20} = 0;)
// sp
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 ...