
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
Содержание 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 ...