Volume 2, Part 1: Itanium
®
Architecture-based Operating System Interaction Model with IA-32 Applications
2:253
10.4.1
Entering IA-32 Processes
High FP registers (FR32-127)
–
The processor requires access to all high FP registers
during the execution of IA-32 instructions. It is recommended on entering an IA-32
process, that the OS save the high FP registers belonging to a prior context and then
enable
the high FP registers (PSR.dfh is 0). Otherwise, the processor will immediately
raise a Disabled FP Register fault on the first IA-32 instruction executed in the IA-32
process. Performing the state save of the prior high FP register context during the
context switch avoids the unnecessary generation of the Disabled FP Register fault.
Low FP registers (FR2-31)
–
The processor does not require access to the low FP
registers unless executing IA-32 FP, MMX technology or SSE instructions. It is
recommended on entry to an IA-32 process, that the OS
disable
the low FP registers
by setting PSR.dfl to 1. PSR.dfl set to 0 indicates that there was a possibility that IA-32
FP, MMX technology or SSE instruction could execute and write FR8-31. If the low FP
registers are enabled on entry to an IA-32 process (PSR.dfl is 0), all low FP registers
will appear to be dirty on IA-32 process exit.
High Integer Registers (GR32-127)
–
Since the processor leaves all high registers in the
register stack in an undefined state, these registers must be saved by the RSE before
entering an IA-32 process.
Low Integer registers (GR1-31)
–
These registers must be explicitly saved before
entering an IA-32 process.
10.4.2
Exiting IA-32 Processes
High FP registers (FR32-127)
–
PSR.mfh is unmodified when leaving the IA-32
instruction set. IA-32 instruction set execution leaves FR32-127 in an undefined state.
Software can not rely on register values being preserved across an instruction set
transition. These registers do NOT need to be preserved across a context switch.
Low FP registers (FR2-31)
–
PSR.mfl indicates there is a possibility that FR8-31 were
modified by IA-32 FP, MMX technology, or SSE instruction. The modify bit is set by the
processor when leaving the IA-32 instruction set, if PSR.dfl is 0, otherwise PSR.mfl is
unmodified. During the state save of the outbound IA-32 process, it is recommended
that the OS save FR2-31 if and only if the lower FP registers are marked as modified.
High Integer Registers (GR32-127)
–
Since the processor leaves all high registers
undefined across an instruction set transition, these registers do NOT need to be
preserved across an IA-32 context switch.
Low Integer registers (GR1-31)
–
These registers must be explicitly preserved across a
context switch.
10.5
IA-32 Instruction Set Behavior Summary
summarizes IA-32 instruction behavior within the Itanium System
Environment. All IA-32 instructions are unchanged from the
Intel
®
64 and IA-32
Architectures Software Developer’s Manual
except where noted. IA-32 instructions
can also generate additional Itanium register and memory faults as defined in
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 ...