MdePkg[all]
1.08
|
Data Structures | |
union | EFI_FFS_INTEGRITY_CHECK |
struct | EFI_FFS_FILE_HEADER |
struct | EFI_FFS_FILE_HEADER2 |
struct | EFI_COMMON_SECTION_HEADER |
struct | EFI_COMMON_SECTION_HEADER2 |
struct | EFI_COMPRESSION_SECTION |
struct | EFI_COMPRESSION_SECTION2 |
struct | EFI_FREEFORM_SUBTYPE_GUID_SECTION |
struct | EFI_FREEFORM_SUBTYPE_GUID_SECTION2 |
struct | EFI_GUID_DEFINED_SECTION |
struct | EFI_GUID_DEFINED_SECTION2 |
struct | EFI_USER_INTERFACE_SECTION |
struct | EFI_USER_INTERFACE_SECTION2 |
struct | EFI_VERSION_SECTION |
struct | EFI_VERSION_SECTION2 |
The firmware file related definitions in PI.
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_FILE_DATA_VALID 0x04 |
#define EFI_FILE_DELETED 0x10 |
#define EFI_FILE_HEADER_CONSTRUCTION 0x01 |
FFS File State Bits.
#define EFI_FILE_HEADER_INVALID 0x20 |
#define EFI_FILE_HEADER_VALID 0x02 |
#define EFI_FILE_MARKED_FOR_UPDATE 0x08 |
#define EFI_FV_FILETYPE_ALL 0x00 |
File Types Definitions
#define EFI_FV_FILETYPE_APPLICATION 0x09 |
#define EFI_FV_FILETYPE_COMBINED_MM_DXE 0x0C |
#define EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER 0x08 |
#define EFI_FV_FILETYPE_COMBINED_SMM_DXE EFI_FV_FILETYPE_COMBINED_MM_DXE |
#define EFI_FV_FILETYPE_DEBUG_MAX 0xef |
#define EFI_FV_FILETYPE_DEBUG_MIN 0xe0 |
#define EFI_FV_FILETYPE_DRIVER 0x07 |
#define EFI_FV_FILETYPE_DXE_CORE 0x05 |
#define EFI_FV_FILETYPE_FFS_MAX 0xff |
#define EFI_FV_FILETYPE_FFS_MIN 0xf0 |
#define EFI_FV_FILETYPE_FFS_PAD 0xf0 |
#define EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE 0x0B |
#define EFI_FV_FILETYPE_FREEFORM 0x02 |
#define EFI_FV_FILETYPE_MM 0x0A |
#define EFI_FV_FILETYPE_MM_CORE 0x0D |
#define EFI_FV_FILETYPE_MM_CORE_STANDALONE 0x0F |
#define EFI_FV_FILETYPE_MM_STANDALONE 0x0E |
#define EFI_FV_FILETYPE_OEM_MAX 0xdf |
#define EFI_FV_FILETYPE_OEM_MIN 0xc0 |
#define EFI_FV_FILETYPE_PEI_CORE 0x04 |
#define EFI_FV_FILETYPE_PEIM 0x06 |
#define EFI_FV_FILETYPE_RAW 0x01 |
#define EFI_FV_FILETYPE_SECURITY_CORE 0x03 |
#define EFI_FV_FILETYPE_SMM EFI_FV_FILETYPE_MM |
#define EFI_FV_FILETYPE_SMM_CORE EFI_FV_FILETYPE_MM_CORE |
#define EFI_GUIDED_SECTION_AUTH_STATUS_VALID 0x02 |
#define EFI_GUIDED_SECTION_PROCESSING_REQUIRED 0x01 |
Attributes of EFI_GUID_DEFINED_SECTION.
#define EFI_NOT_COMPRESSED 0x00 |
CompressionType of EFI_COMPRESSION_SECTION.
#define EFI_SECTION_ALL 0x00 |
Pseudo type. It is used as a wild card when retrieving sections. The section type EFI_SECTION_ALL matches all section types.
#define EFI_SECTION_COMPATIBILITY16 0x16 |
#define EFI_SECTION_COMPRESSION 0x01 |
Encapsulation section Type values.
#define EFI_SECTION_DISPOSABLE 0x03 |
#define EFI_SECTION_DXE_DEPEX 0x13 |
#define EFI_SECTION_FIRMWARE_VOLUME_IMAGE 0x17 |
#define EFI_SECTION_FREEFORM_SUBTYPE_GUID 0x18 |
#define EFI_SECTION_GUID_DEFINED 0x02 |
#define EFI_SECTION_MM_DEPEX 0x1C |
#define EFI_SECTION_PE32 0x10 |
Leaf section Type values.
#define EFI_SECTION_PEI_DEPEX 0x1B |
#define EFI_SECTION_PIC 0x11 |
#define EFI_SECTION_RAW 0x19 |
#define EFI_SECTION_SMM_DEPEX EFI_SECTION_MM_DEPEX |
#define EFI_SECTION_TE 0x12 |
#define EFI_SECTION_USER_INTERFACE 0x15 |
#define EFI_SECTION_VERSION 0x14 |
#define EFI_STANDARD_COMPRESSION 0x01 |
#define FFS_ATTRIB_CHECKSUM 0x40 |
#define FFS_ATTRIB_DATA_ALIGNMENT 0x38 |
#define FFS_ATTRIB_DATA_ALIGNMENT_2 0x02 |
#define FFS_ATTRIB_FIXED 0x04 |
#define FFS_ATTRIB_LARGE_FILE 0x01 |
FFS File Attributes.
#define FFS_FILE2_SIZE | ( | FfsFileHeaderPtr | ) | ((UINT32) (((EFI_FFS_FILE_HEADER2 *) (UINTN) FfsFileHeaderPtr)->ExtendedSize)) |
#define FFS_FILE_SIZE | ( | FfsFileHeaderPtr | ) |
The argument passed as the FfsFileHeaderPtr parameter to the FFS_FILE_SIZE() function-like macro below must not have side effects: FfsFileHeaderPtr is evaluated multiple times.
#define FFS_FIXED_CHECKSUM 0xAA |
FFS_FIXED_CHECKSUM is the checksum value used when the FFS_ATTRIB_CHECKSUM attribute bit is clear.
#define IS_FFS_FILE2 | ( | FfsFileHeaderPtr | ) | (((((EFI_FFS_FILE_HEADER *) (UINTN) FfsFileHeaderPtr)->Attributes) & FFS_ATTRIB_LARGE_FILE) == FFS_ATTRIB_LARGE_FILE) |
#define IS_SECTION2 | ( | SectionHeaderPtr | ) | (SECTION_SIZE (SectionHeaderPtr) == 0x00ffffff) |
#define SECTION2_SIZE | ( | SectionHeaderPtr | ) | (((EFI_COMMON_SECTION_HEADER2 *) (UINTN) SectionHeaderPtr)->ExtendedSize) |
#define SECTION_SIZE | ( | SectionHeaderPtr | ) |
The argument passed as the SectionHeaderPtr parameter to the SECTION_SIZE() and IS_SECTION2() function-like macros below must not have side effects: SectionHeaderPtr is evaluated multiple times.
Leaf section type that contains an IA-32 16-bit executable image.
An encapsulation section type in which the section data is disposable. A disposable section is an encapsulation section in which the section data may be disposed of during the process of creating or updating a firmware image without significant impact on the usefulness of the file. The Type field in the section header is set to EFI_SECTION_DISPOSABLE. This allows optional or descriptive data to be included with the firmware file which can be removed in order to conserve space. The contents of this section are implementation specific, but might contain debug data or detailed integration instructions.
The leaf section which could be used to determine the dispatch order of DXEs.
typedef UINT8 EFI_FFS_FILE_ATTRIBUTES |
typedef UINT8 EFI_FFS_FILE_STATE |
The leaf section which contains a PI FV.
typedef UINT8 EFI_FV_FILETYPE |
The leaf section which contains PE32+ image.
The leaf section used to determine the dispatch order of PEIMs.
A leaf section type that contains a position-independent-code (PIC) image. A PIC image section is a leaf section that contains a position-independent-code (PIC) image. In addition to normal PE32+ images that contain relocation information, PEIM executables may be PIC and are referred to as PIC images. A PIC image is the same as a PE32+ image except that all relocation information has been stripped from the image and the image can be moved and will execute correctly without performing any relocation or other fix-ups. EFI_PIC_SECTION2 must be used if the section is 16MB or larger.
The leaf section which contains an array of zero or more bytes.
typedef UINT8 EFI_SECTION_TYPE |
The SMM dependency expression section is a leaf section that contains a dependency expression that is used to determine the dispatch order for SMM drivers. Before the SMRAM invocation of the SMM driver's entry point, this dependency expression must evaluate to TRUE. See the Platform Initialization Specification, Volume 2, for details regarding the format of the dependency expression. The dependency expression may refer to protocols installed in either the UEFI or the SMM protocol database. EFI_SMM_DEPEX_SECTION2 must be used if the section is 16MB or larger.
The leaf section which constains the position-independent-code image.