Volume 2, Part 1: Processor Abstraction Layer
2:339
When this optimization is enabled, execution of
rsm
and
ssm
instructions
, with
PSR.vm==1 and system mask equal to zero (0x0), will not intercept to the VMM unless
a fault condition is detected (see
for details).
A virtual external interrupt is raised if the virtual highest priority pending interrupt
(vhpi) is unmasked by the new vpsr.i and vtpr. If the virtual highest priority pending
interrupt (vhpi) is still masked by the new vpsr.i or vtpr, no virtual external interrupt will
be raised. Note that execution of MOV-to-PSR instructions with PSR.vm==1 always
results in a virtualization intercept no matter which PSR bits are modified.
When this optimization is enabled, execution of
rsm
and
ssm
instructions
, with
PSR.vm==1, which modify any bits in addition to vpsr.i result in a virtualization
intercepts. No virtual external interrupts are raised and the VMM is responsible for
delivering a virtual external interrupt if the virtual highest priority pending interrupt
(vhpi) is unmasked.
When this optimization is enabled, execution of a MOV-from-CR instruction, with
PSR.vm==1, targeting vtpr reads the most recent value, unless a fault condition is
detected (see
for details).
When this optimization is enabled, on execution of MOV-to-TPR instructions with
PSR.vm==1, vtpr will be updated with the new value without handling off to the VMM,
unless a fault condition is detected (see
for details). A virtual external
interrupt is raised if the virtual highest priority pending interrupt (vhpi) is unmasked by
the new vpsr.i and vtpr. No virtual external interrupt is raised if the virtual highest
priority pending interrupt is still masked by vpsr.i or vtpr.
When this optimization is enabled, after completion of an instruction with PSR.vm==1
which modifies vtpr or vpsr.i (if the instruction completes without an intercept), a
determination is made as to whether the new state unmasks the virtual highest priority
pending interrupt. If it does, then a virtual external interrupt will be raised and the VMM
will be entered on the Virtual External Interrupt vector. See
the detection of virtual external interrupts.
Synchronization is required when this optimization is enabled, see
for
details.
When this optimization is enabled, certain VPD state is accessed, as described in
Table 11-16, “Virtual Processor Descriptor (VPD)” on page 2:326
Table 11-27. Detection of Virtual External Interrupts
Condition
Virtual External Interrupt
vhpi <= (!vpsr.i << 5 | vtpr.mmi <<4 | vtpr.mic)
No – virtual highest priority pending interrupt
is still masked.
vhpi > (!vpsr.i << 5 | vtpr.mmi <<4 | vtpr.mic)
Yes – virtual highest priority pending
interrupt is unmasked.
Table 11-28. Synchronization Requirements for Virtual External Interrupt
Optimization
VPD Resource
Synchronization Required
vtpr
Read, Write
vpsr.i
Read, Write
vhpi
Write
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 ...