Volume 2, Part 1: Processor Abstraction Layer
2:359
11.10.2.1.3 Making PAL Procedure Calls in Physical or Virtual Mode
PAL procedure calls which are made in physical mode must obey the calling conventions
described in this chapter, but there are no additional restrictions beyond those noted
above. PAL procedure calls made in virtual mode must have the region occupied by
PAL_PROC virtually mapped with an ITR. It needs to map this same area with either a
DTR or DTC using the same translation as the ITR. In addition, it must also provide a
DTR or DTC mapping for any memory buffer pointers passed as arguments to a
procedure. It is the responsibility of the caller to provide these mappings.
If the caller chooses to map the PAL_PROC area or any memory pointers with a DTC it
must call the procedure with PSR.ic = 1 to handle any TLB faults that could occur. The
PAL_PROC code needs to be mapped with an ITR. Unpredictable results may occur if it
is mapped with an ITC register.
11.10.2.1.4 Dependence on the PAL Memory Buffer
The PAL_MEMORY_BUFFER procedure must be called to establish a PAL memory buffer
before calling certain PAL procedures that are dependent on the buffer.
11.10.2.2 Processor State
The PAL procedures are only available to the code running at privilege level 0. They
must run in physical mode (unless specified as callable in virtual mode). PAL
procedures are not interruptible by external interrupt or NMI, since PSR.i must be 0
when the PAL procedure is called. PAL procedures are not interruptible by PMI events, if
PSR.ic is 0. If PSR.ic is 1, PAL procedures can be interrupted by PMI events. PAL
procedures can be interrupted by machine checks and initialization events.
Generally PAL procedures will not enable interruptions not already enabled by the caller.
Any PAL call that might cause interruptions (besides data TLB faults, see Section
11.10.2.1.3, “Making PAL Procedure Calls in Physical or Virtual Mode”), must install an
IVA handler to handle them. PAL_TEST_PROC may generate any interruptions it needs
to test the processor.
defines the requirements for the PSR at entry to and at exit from a PAL
procedure call. The operating system must follow the state requirements for PSR shown
below. PAL procedure calls made by SAL may impose additional requirements.
PAL_TEST_PROC may change PSR bits shown as unchanged in order to test the
processor. These bits will be preserved in this case. PSR bits are described in increasing
bit number order. Any PSR bit numbers not specified are reserved and unchanged.
Table 11-56. State Requirements for PSR
PSR Bit
Description
Entry
Exit
Class
be
big-endian memory access enable
0
0
preserved
up
user performance monitor enable
C
C
unchanged
ac
alignment check
C
C
preserved
mfl
floating-point registers f2-f31 written
C
C
preserved
mfh
floating-point registers f32-f127 written
C
C
preserved
ic
interruption state collection enable
0
0
unchanged
1
1
preserved
i
interrupt enable
0
0
unchanged
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 ...