|
TianoCore EDK2 master
|
#include "FwVol.h"Go to the source code of this file.
Variables | |
| EFI_PEI_NOTIFY_DESCRIPTOR | mNotifyOnFvInfoList [] |
| PEI_FW_VOL_INSTANCE | mPeiFfs2FwVol |
| PEI_FW_VOL_INSTANCE | mPeiFfs3FwVol |
| EFI_PEI_PPI_DESCRIPTOR | mPeiFfs2FvPpiList |
| EFI_PEI_PPI_DESCRIPTOR | mPeiFfs3FvPpiList |
| UINT8 | mFvAttributes [] = { 0, 4, 7, 9, 10, 12, 15, 16 } |
| UINT8 | mFvAttributes2 [] = { 17, 18, 19, 20, 21, 22, 23, 24 } |
Pei Core Firmware File System service routines.
Copyright (c) 2015 HP Development Company, L.P. Copyright (c) 2006 - 2025, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file FwVol.c.
| EFI_STATUS AddUnknownFormatFvInfo | ( | IN PEI_CORE_INSTANCE * | PrivateData, |
| IN EFI_PEI_FIRMWARE_VOLUME_INFO2_PPI * | FvInfo2Ppi | ||
| ) |
Report the information for a newly discovered FV in an unknown format.
If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for a third-party FV format, but the FV has been discovered, then the information of this FV will be cached into PEI_CORE_INSTANCE's UnknownFvInfo array.
Also a notification would be installed for unknown FV format GUID, if EFI_PEI_FIRMWARE_VOLUME_PPI is installed later by platform's PEIM, the original unknown FV will be processed by using new installed EFI_PEI_FIRMWARE_VOLUME_PPI.
| PrivateData | Point to instance of PEI_CORE_INSTANCE |
| FvInfo2Ppi | Point to FvInfo2 PPI. |
| EFI_OUT_OF_RESOURCES | The FV info array in PEI_CORE_INSTANCE has no more spaces. |
| EFI_SUCCESS | Success to add the information for unknown FV. |
| UINT8 CalculateHeaderChecksum | ( | IN EFI_FFS_FILE_HEADER * | FileHeader | ) |
| EFI_FV_FILE_ATTRIBUTES FfsAttributes2FvFileAttributes | ( | IN EFI_FFS_FILE_ATTRIBUTES | FfsAttributes | ) |
| PEI_CORE_FV_HANDLE * FileHandleToVolume | ( | IN EFI_PEI_FILE_HANDLE | FileHandle | ) |
Find FV handler according to FileHandle in that FV.
| FileHandle | Handle of file image |
| EFI_STATUS FindFileEx | ( | IN CONST EFI_PEI_FV_HANDLE | FvHandle, |
| IN CONST EFI_GUID *FileName | OPTIONAL, | ||
| IN EFI_FV_FILETYPE | SearchType, | ||
| IN OUT EFI_PEI_FILE_HANDLE * | FileHandle, | ||
| IN OUT EFI_PEI_FILE_HANDLE *AprioriFile | OPTIONAL | ||
| ) |
Given the input file pointer, search for the first matching file in the FFS volume as defined by SearchType. The search starts from FileHeader inside the Firmware Volume defined by FwVolHeader. If SearchType is EFI_FV_FILETYPE_ALL, the first FFS file will return without check its file type. If SearchType is PEI_CORE_INTERNAL_FFS_FILE_DISPATCH_TYPE, the first PEIM, or COMBINED PEIM or FV file type FFS file will return.
| FvHandle | Pointer to the FV header of the volume to search |
| FileName | File name |
| SearchType | Filter to find only files of this type. Type EFI_FV_FILETYPE_ALL causes no filtering to be done. |
| FileHandle | This parameter must point to a valid FFS volume. |
| AprioriFile | Pointer to AprioriFile image in this FV if has |
| EFI_SUCCESS | Success to search given file |
| PEI_CORE_FV_HANDLE * FindNextCoreFvHandle | ( | IN PEI_CORE_INSTANCE * | Private, |
| IN UINTN | Instance | ||
| ) |
Gets a PEI_CORE_FV_HANDLE instance for the next volume according to the given index.
This routine also will install an instance of the FvInfo PPI for the FV HOB as defined in the PI specification.
| Private | Pointer of PEI_CORE_INSTANCE |
| Instance | Index of the FV to search |
| EFI_STATUS FindUnknownFormatFvInfo | ( | IN PEI_CORE_INSTANCE * | PrivateData, |
| IN EFI_GUID * | Format, | ||
| OUT VOID ** | FvInfo, | ||
| OUT UINT32 * | FvInfoSize, | ||
| OUT UINT32 * | AuthenticationStatus | ||
| ) |
Find the FV information according to third-party FV format GUID.
This routine also will remove the FV information found by given FV format GUID from PrivateData->UnknownFvInfo[].
| PrivateData | Point to instance of PEI_CORE_INSTANCE |
| Format | Point to given FV format GUID |
| FvInfo | On return, the pointer of FV information buffer |
| FvInfoSize | On return, the size of FV information buffer. |
| AuthenticationStatus | On return, the authentication status of FV information buffer. |
| EFI_NOT_FOUND | The FV is not found for new installed EFI_PEI_FIRMWARE_VOLUME_PPI |
| EFI_SUCCESS | Success to find a FV which could be processed by new installed EFI_PEI_FIRMWARE_VOLUME_PPI. |
| EFI_STATUS EFIAPI FirmwareVolumeInfoPpiNotifyCallback | ( | IN EFI_PEI_SERVICES ** | PeiServices, |
| IN EFI_PEI_NOTIFY_DESCRIPTOR * | NotifyDescriptor, | ||
| IN VOID * | Ppi | ||
| ) |
Process Firmware Volume Information once FvInfoPPI or FvInfo2PPI install. The FV Info will be registered into PeiCore private data structure. And search the inside FV image, if found, the new FV INFO(2) PPI will be installed.
| PeiServices | An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation |
| NotifyDescriptor | Address of the notification descriptor data structure. |
| Ppi | Address of the PPI that was installed. |
| EFI_SUCCESS | The FV Info is registered into PeiCore private data structure. |
Measure and record the Firmware Volume Information once FvInfoPPI install.
| [in] | PeiServices | An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. |
| [in] | NotifyDescriptor | Address of the notification descriptor data structure. |
| [in] | Ppi | Address of the PPI that was installed. |
| EFI_SUCCESS | The FV Info is measured and recorded to TPM. |
| PEI_CORE_FV_HANDLE * FvHandleToCoreHandle | ( | IN EFI_PEI_FV_HANDLE | FvHandle | ) |
Convert the handle of FV to pointer of corresponding PEI_CORE_FV_HANDLE.
| FvHandle | The handle of a FV. |
| NULL | if can not find. |
| EFI_FFS_FILE_STATE GetFileState | ( | IN UINT8 | ErasePolarity, |
| IN EFI_FFS_FILE_HEADER * | FfsHeader | ||
| ) |
Returns the file state set by the highest zero bit in the State field
| ErasePolarity | Erase Polarity as defined by EFI_FVB2_ERASE_POLARITY in the Attributes field. |
| FfsHeader | Pointer to FFS File Header. |
| EFI_FFS_FILE_STATE | File state is set by the highest none zero bit in the header State field. |
| EFI_GUID * GetFvName | ( | IN CONST EFI_FIRMWARE_VOLUME_HEADER * | FvHeader | ) |
| BOOLEAN GetFvUsedSize | ( | IN EFI_FIRMWARE_VOLUME_HEADER * | FvHeader, |
| OUT UINT32 * | FvUsedSize, | ||
| OUT UINT8 * | EraseByte | ||
| ) |
Find USED_SIZE FV_EXT_TYPE entry in FV extension header and get the FV used size.
| [in] | FvHeader | Pointer to FV header. |
| [out] | FvUsedSize | Pointer to FV used size returned, only valid if USED_SIZE FV_EXT_TYPE entry is found. |
| [out] | EraseByte | Pointer to erase byte returned, only valid if USED_SIZE FV_EXT_TYPE entry is found. |
| TRUE | USED_SIZE FV_EXT_TYPE entry is found, FV used size and erase byte are returned. |
| FALSE | No USED_SIZE FV_EXT_TYPE entry found. |
| EFI_STATUS EFIAPI PeiFfsFindFileByName | ( | IN CONST EFI_GUID * | FileName, |
| IN EFI_PEI_FV_HANDLE | VolumeHandle, | ||
| OUT EFI_PEI_FILE_HANDLE * | FileHandle | ||
| ) |
Find a file within a volume by its name.
| FileName | A pointer to the name of the file to find within the firmware volume. |
| VolumeHandle | The firmware volume to search |
| FileHandle | Upon exit, points to the found file's handle or NULL if it could not be found. |
| EFI_SUCCESS | File was found. |
| EFI_NOT_FOUND | File was not found. |
| EFI_INVALID_PARAMETER | VolumeHandle or FileHandle or FileName was NULL. |
| EFI_STATUS EFIAPI PeiFfsFindNextFile | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
| IN UINT8 | SearchType, | ||
| IN EFI_PEI_FV_HANDLE | FvHandle, | ||
| IN OUT EFI_PEI_FILE_HANDLE * | FileHandle | ||
| ) |
Searches for the next matching file in the firmware volume.
| PeiServices | An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. |
| SearchType | Filter to find only files of this type. Type EFI_FV_FILETYPE_ALL causes no filtering to be done. |
| FvHandle | Handle of firmware volume in which to search. |
| FileHandle | On entry, points to the current handle from which to begin searching or NULL to start at the beginning of the firmware volume. On exit, points the file handle of the next file in the volume or NULL if there are no more files. |
| EFI_NOT_FOUND | The file was not found. |
| EFI_NOT_FOUND | The header checksum was not zero. |
| EFI_SUCCESS | The file was found. |
| EFI_STATUS EFIAPI PeiFfsFindNextVolume | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
| IN UINTN | Instance, | ||
| IN OUT EFI_PEI_FV_HANDLE * | VolumeHandle | ||
| ) |
Search the firmware volumes by index
| PeiServices | An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation |
| Instance | This instance of the firmware volume to find. The value 0 is the Boot Firmware Volume (BFV). |
| VolumeHandle | On exit, points to the next volume handle or NULL if it does not exist. |
| EFI_INVALID_PARAMETER | VolumeHandle is NULL |
| EFI_NOT_FOUND | The volume was not found. |
| EFI_SUCCESS | The volume was found. |
| EFI_STATUS EFIAPI PeiFfsFindSectionData | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
| IN EFI_SECTION_TYPE | SectionType, | ||
| IN EFI_PEI_FILE_HANDLE | FileHandle, | ||
| OUT VOID ** | SectionData | ||
| ) |
Searches for the next matching section within the specified file.
| PeiServices | An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation |
| SectionType | Filter to find only sections of this type. |
| FileHandle | Pointer to the current file to search. |
| SectionData | A pointer to the discovered section, if successful. NULL if section not found |
| EFI_NOT_FOUND | The section was not found. |
| EFI_SUCCESS | The section was found. |
| EFI_STATUS EFIAPI PeiFfsFindSectionData3 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
| IN EFI_SECTION_TYPE | SectionType, | ||
| IN UINTN | SectionInstance, | ||
| IN EFI_PEI_FILE_HANDLE | FileHandle, | ||
| OUT VOID ** | SectionData, | ||
| OUT UINT32 * | AuthenticationStatus | ||
| ) |
Searches for the next matching section within the specified file.
| PeiServices | An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. |
| SectionType | The value of the section type to find. |
| SectionInstance | Section instance to find. |
| FileHandle | Handle of the firmware file to search. |
| SectionData | A pointer to the discovered section, if successful. |
| AuthenticationStatus | A pointer to the authentication status for this section. |
| EFI_SUCCESS | The section was found. |
| EFI_NOT_FOUND | The section was not found. |
| EFI_STATUS EFIAPI PeiFfsFvPpiFindFileByName | ( | IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI * | This, |
| IN CONST EFI_GUID * | FileName, | ||
| IN EFI_PEI_FV_HANDLE * | FvHandle, | ||
| OUT EFI_PEI_FILE_HANDLE * | FileHandle | ||
| ) |
Find a file within a volume by its name.
This service searches for files with a specific name, within either the specified firmware volume or all firmware volumes.
| This | Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. |
| FileName | A pointer to the name of the file to find within the firmware volume. |
| FvHandle | Upon entry, the pointer to the firmware volume to search or NULL if all firmware volumes should be searched. Upon exit, the actual firmware volume in which the file was found. |
| FileHandle | Upon exit, points to the found file's handle or NULL if it could not be found. |
| EFI_SUCCESS | File was found. |
| EFI_NOT_FOUND | File was not found. |
| EFI_INVALID_PARAMETER | FvHandle or FileHandle or FileName was NULL. |
| EFI_STATUS EFIAPI PeiFfsFvPpiFindFileByType | ( | IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI * | This, |
| IN EFI_FV_FILETYPE | SearchType, | ||
| IN EFI_PEI_FV_HANDLE | FvHandle, | ||
| IN OUT EFI_PEI_FILE_HANDLE * | FileHandle | ||
| ) |
Finds the next file of the specified type.
This service enables PEI modules to discover additional firmware files. The FileHandle must be unique within the system.
| This | Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. |
| SearchType | A filter to find only files of this type. Type EFI_FV_FILETYPE_ALL causes no filtering to be done. |
| FvHandle | Handle of firmware volume in which to search. |
| FileHandle | Points to the current handle from which to begin searching or NULL to start at the beginning of the firmware volume. Updated upon return to reflect the file found. |
| EFI_SUCCESS | The file was found. |
| EFI_NOT_FOUND | The file was not found. FileHandle contains NULL. |
| EFI_STATUS EFIAPI PeiFfsFvPpiFindSectionByType | ( | IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI * | This, |
| IN EFI_SECTION_TYPE | SearchType, | ||
| IN EFI_PEI_FILE_HANDLE | FileHandle, | ||
| OUT VOID ** | SectionData | ||
| ) |
Find the next matching section in the firmware file.
This service enables PEI modules to discover sections of a given type within a valid file.
| This | Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. |
| SearchType | A filter to find only sections of this type. |
| FileHandle | Handle of firmware file in which to search. |
| SectionData | Updated upon return to point to the section found. |
| EFI_SUCCESS | Section was found. |
| EFI_NOT_FOUND | Section of the specified type was not found. SectionData contains NULL. |
| EFI_STATUS EFIAPI PeiFfsFvPpiFindSectionByType2 | ( | IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI * | This, |
| IN EFI_SECTION_TYPE | SearchType, | ||
| IN UINTN | SearchInstance, | ||
| IN EFI_PEI_FILE_HANDLE | FileHandle, | ||
| OUT VOID ** | SectionData, | ||
| OUT UINT32 * | AuthenticationStatus | ||
| ) |
Find the next matching section in the firmware file.
This service enables PEI modules to discover sections of a given instance and type within a valid file.
| This | Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. |
| SearchType | A filter to find only sections of this type. |
| SearchInstance | A filter to find the specific instance of sections. |
| FileHandle | Handle of firmware file in which to search. |
| SectionData | Updated upon return to point to the section found. |
| AuthenticationStatus | Updated upon return to point to the authentication status for this section. |
| EFI_SUCCESS | Section was found. |
| EFI_NOT_FOUND | Section of the specified type was not found. SectionData contains NULL. |
| EFI_STATUS EFIAPI PeiFfsFvPpiGetFileInfo | ( | IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI * | This, |
| IN EFI_PEI_FILE_HANDLE | FileHandle, | ||
| OUT EFI_FV_FILE_INFO * | FileInfo | ||
| ) |
Returns information about a specific file.
This function returns information about a specific file, including its file name, type, attributes, starting address and size.
| This | Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. |
| FileHandle | Handle of the file. |
| FileInfo | Upon exit, points to the file's information. |
| EFI_SUCCESS | File information returned. |
| EFI_INVALID_PARAMETER | If FileHandle does not represent a valid file. |
| EFI_INVALID_PARAMETER | If FileInfo is NULL. |
| EFI_STATUS EFIAPI PeiFfsFvPpiGetFileInfo2 | ( | IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI * | This, |
| IN EFI_PEI_FILE_HANDLE | FileHandle, | ||
| OUT EFI_FV_FILE_INFO2 * | FileInfo | ||
| ) |
Returns information about a specific file.
This function returns information about a specific file, including its file name, type, attributes, starting address, size and authentication status.
| This | Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. |
| FileHandle | Handle of the file. |
| FileInfo | Upon exit, points to the file's information. |
| EFI_SUCCESS | File information returned. |
| EFI_INVALID_PARAMETER | If FileHandle does not represent a valid file. |
| EFI_INVALID_PARAMETER | If FileInfo is NULL. |
| EFI_STATUS EFIAPI PeiFfsFvPpiGetVolumeInfo | ( | IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI * | This, |
| IN EFI_PEI_FV_HANDLE | FvHandle, | ||
| OUT EFI_FV_INFO * | VolumeInfo | ||
| ) |
This function returns information about the firmware volume.
| This | Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. |
| FvHandle | Handle to the firmware handle. |
| VolumeInfo | Points to the returned firmware volume information. |
| EFI_SUCCESS | Information returned successfully. |
| EFI_INVALID_PARAMETER | FvHandle does not indicate a valid firmware volume or VolumeInfo is NULL. |
| EFI_STATUS EFIAPI PeiFfsFvPpiProcessVolume | ( | IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI * | This, |
| IN VOID * | Buffer, | ||
| IN UINTN | BufferSize, | ||
| OUT EFI_PEI_FV_HANDLE * | FvHandle | ||
| ) |
Process a firmware volume and create a volume handle.
Create a volume handle from the information in the buffer. For memory-mapped firmware volumes, Buffer and BufferSize refer to the start of the firmware volume and the firmware volume size. For non memory-mapped firmware volumes, this points to a buffer which contains the necessary information for creating the firmware volume handle. Normally, these values are derived from the EFI_FIRMWARE_VOLUME_INFO_PPI.
| This | Points to this instance of the EFI_PEI_FIRMWARE_VOLUME_PPI. |
| Buffer | Points to the start of the buffer. |
| BufferSize | Size of the buffer. |
| FvHandle | Points to the returned firmware volume handle. The firmware volume handle must be unique within the system. |
| EFI_SUCCESS | Firmware volume handle created. |
| EFI_VOLUME_CORRUPTED | Volume was corrupt. |
| EFI_STATUS EFIAPI PeiFfsGetFileInfo | ( | IN EFI_PEI_FILE_HANDLE | FileHandle, |
| OUT EFI_FV_FILE_INFO * | FileInfo | ||
| ) |
Returns information about a specific file.
| FileHandle | Handle of the file. |
| FileInfo | Upon exit, points to the file's information. |
| EFI_INVALID_PARAMETER | If FileInfo is NULL. |
| EFI_INVALID_PARAMETER | If FileHandle does not represent a valid file. |
| EFI_SUCCESS | File information returned. |
| EFI_STATUS EFIAPI PeiFfsGetFileInfo2 | ( | IN EFI_PEI_FILE_HANDLE | FileHandle, |
| OUT EFI_FV_FILE_INFO2 * | FileInfo | ||
| ) |
Returns information about a specific file.
| FileHandle | Handle of the file. |
| FileInfo | Upon exit, points to the file's information. |
| EFI_INVALID_PARAMETER | If FileInfo is NULL. |
| EFI_INVALID_PARAMETER | If FileHandle does not represent a valid file. |
| EFI_SUCCESS | File information returned. |
| EFI_STATUS EFIAPI PeiFfsGetVolumeInfo | ( | IN EFI_PEI_FV_HANDLE | VolumeHandle, |
| OUT EFI_FV_INFO * | VolumeInfo | ||
| ) |
Returns information about the specified volume.
This function returns information about a specific firmware volume, including its name, type, attributes, starting address and size.
| VolumeHandle | Handle of the volume. |
| VolumeInfo | Upon exit, points to the volume's information. |
| EFI_SUCCESS | Volume information returned. |
| EFI_INVALID_PARAMETER | If VolumeHandle does not represent a valid volume. |
| EFI_INVALID_PARAMETER | If VolumeHandle is NULL. |
| EFI_SUCCESS | Information successfully returned. |
| EFI_INVALID_PARAMETER | The volume designated by the VolumeHandle is not available. |
| VOID PeiInitializeFv | ( | IN PEI_CORE_INSTANCE * | PrivateData, |
| IN CONST EFI_SEC_PEI_HAND_OFF * | SecCoreData | ||
| ) |
| VOID PeiReinitializeFv | ( | IN PEI_CORE_INSTANCE * | PrivateData | ) |
After PeiCore image is shadowed into permanent memory, all build-in FvPpi should be re-installed with the instance in permanent memory and all cached FvPpi pointers in PrivateData->Fv[] array should be fixed up to be pointed to the one in permanent memory.
| PrivateData | Pointer to PEI_CORE_INSTANCE. |
| EFI_STATUS ProcessFvFile | ( | IN PEI_CORE_INSTANCE * | PrivateData, |
| IN PEI_CORE_FV_HANDLE * | ParentFvCoreHandle, | ||
| IN EFI_PEI_FILE_HANDLE | ParentFvFileHandle | ||
| ) |
Get FV image(s) from the FV type file, then install FV INFO(2) PPI, Build FV(2, 3) HOB.
| PrivateData | PeiCore's private data structure |
| ParentFvCoreHandle | Pointer of EFI_CORE_FV_HANDLE to parent FV image that contain this FV image. |
| ParentFvFileHandle | File handle of a FV type file that contain this FV image. |
| EFI_NOT_FOUND | FV image can't be found. |
| EFI_SUCCESS | Successfully to process it. |
| EFI_OUT_OF_RESOURCES | Can not allocate page when aligning FV image |
| EFI_SECURITY_VIOLATION | Image is illegal |
| Others | Can not find EFI_SECTION_FIRMWARE_VOLUME_IMAGE section |
| EFI_STATUS ProcessSection | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
| IN EFI_SECTION_TYPE | SectionType, | ||
| IN OUT UINTN * | SectionInstance, | ||
| IN EFI_COMMON_SECTION_HEADER * | Section, | ||
| IN UINTN | SectionSize, | ||
| OUT VOID ** | OutputBuffer, | ||
| OUT UINT32 * | AuthenticationStatus, | ||
| IN BOOLEAN | IsFfs3Fv | ||
| ) |
Go through the file to search SectionType section. Search within encapsulation sections (compression and GUIDed) recursively, until the match section is found.
| PeiServices | An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. |
| SectionType | Filter to find only section of this type. |
| SectionInstance | Pointer to the filter to find the specific instance of section. |
| Section | From where to search. |
| SectionSize | The file size to search. |
| OutputBuffer | A pointer to the discovered section, if successful. NULL if section not found |
| AuthenticationStatus | Updated upon return to point to the authentication status for this section. |
| IsFfs3Fv | Indicates the FV format. |
| EFI_STATUS EFIAPI ThirdPartyFvPpiNotifyCallback | ( | IN EFI_PEI_SERVICES ** | PeiServices, |
| IN EFI_PEI_NOTIFY_DESCRIPTOR * | NotifyDescriptor, | ||
| IN VOID * | Ppi | ||
| ) |
Notification callback function for EFI_PEI_FIRMWARE_VOLUME_PPI.
When a EFI_PEI_FIRMWARE_VOLUME_PPI is installed to support new FV format, this routine is called to process all discovered FVs in this format.
| PeiServices | An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation |
| NotifyDescriptor | Address of the notification descriptor data structure. |
| Ppi | Address of the PPI that was installed. |
| EFI_SUCCESS | The notification callback is processed correctly. |
| BOOLEAN VerifyGuidedSectionGuid | ( | IN EFI_GUID * | GuidedSectionGuid, |
| OUT EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI ** | GuidedSectionExtraction | ||
| ) |
Verify the Guided Section GUID by checking if there is the Guided Section GUID HOB recorded the GUID itself.
| GuidedSectionGuid | The Guided Section GUID. |
| GuidedSectionExtraction | A pointer to the pointer to the supported Guided Section Extraction Ppi for the Guided Section. |
| UINT8 mFvAttributes[] = { 0, 4, 7, 9, 10, 12, 15, 16 } |
Required Alignment Alignment Value in FFS FFS_ATTRIB_DATA_ALIGNMENT2 Alignment Value in (bytes) Attributes Field in FFS Attributes Field Firmware Volume Interfaces 1 0 0 0 16 1 0 4 128 2 0 7 512 3 0 9 1 KB 4 0 10 4 KB 5 0 12 32 KB 6 0 15 64 KB 7 0 16 128 KB 0 1 17 256 KB 1 1 18 512 KB 2 1 19 1 MB 3 1 20 2 MB 4 1 21 4 MB 5 1 22 8 MB 6 1 23 16 MB 7 1 24
| EFI_PEI_NOTIFY_DESCRIPTOR mNotifyOnFvInfoList[] |
| EFI_PEI_PPI_DESCRIPTOR mPeiFfs2FvPpiList |
| PEI_FW_VOL_INSTANCE mPeiFfs2FwVol |
| EFI_PEI_PPI_DESCRIPTOR mPeiFfs3FvPpiList |
| PEI_FW_VOL_INSTANCE mPeiFfs3FwVol |