2:286
Volume 2, Part 1: Processor Abstraction Layer
• The 8 bytes at 0xFFFF_FFE0 (4GB-32) contain the physical address of the Firmware
Interface Table.
• The 16 bytes at 0xFFFF_FFD0 (4GB-48) contain the FIT entry for the PAL_A (or
generic PAL_A in the split PAL_A model) code provided by the processor vendor.
The format of this FIT entry is described in
• The 8 bytes at 0xFFFF_FFC8 (4GB-56) contains the physical address of the
alternate Firmware Interface Table. This pointer is optional and is only needed if the
firmware contains an alternate FIT table. If no alternate FIT table it provided a
value of 0x0 should be encoded in this entry.
• The 8 bytes at 0xFFFF_FFC0 (4GB-64) are zero-filled and reserved for future use.
• PAL_A code (also known as generic PAL_A code in split PAL_A model) resides below
0xFFFF_FFC0. This area contains the hardware-triggered entrypoints PALE_RESET,
PALE_INIT, and PALE_CHECK. In the model where PAL_A is not split, the PAL_A
code will perform any processor-specific initialization needed in order for SAL to
perform a firmware recovery. In the split PAL_A model, the generic PAL_A will
search the FIT table(s) to find the first compatible and error-free processor-specific
PAL_A code. It will then branch to this code to perform the processor-specific
initialization needed in order for SAL to perform a firmware recovery. The PAL_A
code area is a multiple of 16 bytes in length.
• SAL_A code occupies the region immediately below the PAL_A code. This area
contains the SALE_ENTRY entrypoint as well as optional
implementation-independent firmware update code. The SAL_A code area is a
multiple of 16 bytes in length.
• The collection of regions above from the beginning of the SAL_A code to 4GB is
called the Protected Bootblock. The size of the Protected Bootblock is SAL_A size +
PAL_A size + 64.
• The Firmware Interface Table (FIT) comprises of 16-byte entries containing starting
address and size information for the firmware components. The FIT is generated at
build time, based on the size and location of the firmware components. Optionally,
an alternate FIT may be included in the firmware. The alternate FIT will only be
used if the primary FIT failed its checksum. In the split PAL_A model, this allows the
generic PAL_A firmware to find the processor-specific PAL_A component(s), even if
the primary FIT is corrupt. This feature allows hand-off to the SAL recovery code,
even if there is a primary FIT checksum failure.
• The processor-specific PAL_A contains the code that is required to be run before
handing off to SAL for a firmware recovery check. This component is only available
on processors that support a split PAL_A firmware model. One processor-specific
PAL_A is architecturally required in this model. The firmware may optionally contain
two or more processor-specific PAL_A components.
• The PAL_B block is comprised of code that is not required to be executed for SAL to
perform a firmware recovery update. The PAL_B code area is a multiple of 16 bytes
in length. The PAL_B block must be aligned on a 32K byte boundary or a 64K byte
boundary depending on the implementation. Processor specific documentation
provides the requirement for alignment. An OEM can choose to have more than one
PAL_B block in the firmware image.
• The remainder of the firmware address space is occupied by SAL_B code. SAL_B
may include IA-32 BIOS code. The location of the SAL_B and IA-32 BIOS code
within the firmware address space is implementation dependent.
Содержание 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 ...