TianoCore EDK2 master
|
#include <Uefi.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DebugLib.h>
#include <Library/PcdLib.h>
#include <Library/UefiLib.h>
#include <Protocol/FirmwareManagement.h>
#include <Guid/EventGroup.h>
#include <Guid/SystemResourceTable.h>
Go to the source code of this file.
Data Structures | |
struct | GUID_HARDWAREINSTANCE_PAIR |
Functions | |
VOID EFIAPI | PrintTable (IN EFI_SYSTEM_RESOURCE_TABLE *Table) |
EFI_STATUS | InstallEfiSystemResourceTableInUefiConfigurationTable (IN EFI_SYSTEM_RESOURCE_TABLE *Table) |
BOOLEAN | IsSystemFmp (IN EFI_FIRMWARE_IMAGE_DESCRIPTOR *FmpImageInfo) |
EFI_STATUS | CreateEsrtEntry (IN OUT EFI_SYSTEM_RESOURCE_TABLE *Table, IN OUT GUID_HARDWAREINSTANCE_PAIR *HardwareInstances, IN OUT UINT32 *NumberOfDescriptors, IN EFI_FIRMWARE_IMAGE_DESCRIPTOR *FmpImageInfoBuf, IN UINT32 FmpVersion) |
EFI_FIRMWARE_IMAGE_DESCRIPTOR * | FmpGetFirmwareImageDescriptor (IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *Fmp, OUT UINT32 *FmpImageInfoDescriptorVer, OUT UINT8 *FmpImageInfoCount, OUT UINTN *DescriptorSize) |
EFI_SYSTEM_RESOURCE_TABLE * | CreateFmpBasedEsrt (VOID) |
VOID EFIAPI | EsrtReadyToBootEventNotify (IN EFI_EVENT Event, IN VOID *Context) |
EFI_STATUS EFIAPI | EsrtFmpEntryPoint (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
Publishes ESRT table from Firmware Management Protocol instances
Copyright (c) 2016, Microsoft Corporation Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file EsrtFmp.c.
EFI_STATUS CreateEsrtEntry | ( | IN OUT EFI_SYSTEM_RESOURCE_TABLE * | Table, |
IN OUT GUID_HARDWAREINSTANCE_PAIR * | HardwareInstances, | ||
IN OUT UINT32 * | NumberOfDescriptors, | ||
IN EFI_FIRMWARE_IMAGE_DESCRIPTOR * | FmpImageInfoBuf, | ||
IN UINT32 | FmpVersion | ||
) |
Function to create a single ESRT Entry and add it to the ESRT with a given FMP descriptor. If the GUID is already in the ESRT, then the ESRT entry is updated.
[in,out] | Table | Pointer to the ESRT Table. |
[in,out] | HardwareInstances | Pointer to the GUID_HARDWAREINSTANCE_PAIR. |
[in,out] | NumberOfDescriptors | The number of EFI_FIRMWARE_IMAGE_DESCRIPTORs. |
[in] | FmpImageInfoBuf | Pointer to the EFI_FIRMWARE_IMAGE_DESCRIPTOR. |
[in] | FmpVersion | FMP Version. |
EFI_SUCCESS | FmpImageInfoBuf was use to fill in a new ESRT entry in Table. |
EFI_SUCCESS | The ImageTypeId GUID in FmpImageInfoBuf matches an existing ESRT entry in Table, and the information from FmpImageInfoBuf was merged into the the existing ESRT entry. |
EFI_UNSPOORTED | The GUID/HardareInstance in FmpImageInfoBuf has is a duplicate. |
EFI_SYSTEM_RESOURCE_TABLE * CreateFmpBasedEsrt | ( | VOID | ) |
EFI_STATUS EFIAPI EsrtFmpEntryPoint | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
The module Entry Point of the Efi System Resource Table DXE driver.
[in] | ImageHandle | The firmware allocated handle for the EFI image. |
[in] | SystemTable | A pointer to the EFI System Table. |
EFI_SUCCESS | The entry point is executed successfully. |
Other | Some error occurs when executing this entry point. |
EFI_FIRMWARE_IMAGE_DESCRIPTOR * FmpGetFirmwareImageDescriptor | ( | IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL * | Fmp, |
OUT UINT32 * | FmpImageInfoDescriptorVer, | ||
OUT UINT8 * | FmpImageInfoCount, | ||
OUT UINTN * | DescriptorSize | ||
) |
Function to retrieve the EFI_FIRMWARE_IMAGE_DESCRIPTOR from an FMP Instance. The returned buffer is allocated using AllocatePool() and must be freed by the caller using FreePool().
[in] | Fmp | Pointer to an EFI_FIRMWARE_MANAGEMENT_PROTOCOL. |
[out] | FmpImageInfoDescriptorVer | Pointer to the version number associated with the returned EFI_FIRMWARE_IMAGE_DESCRIPTOR. |
[out] | FmpImageInfoCount | Pointer to the number of the returned EFI_FIRMWARE_IMAGE_DESCRIPTORs. |
[out] | DescriptorSize | Pointer to the size, in bytes, of each returned EFI_FIRMWARE_IMAGE_DESCRIPTOR. |
EFI_STATUS InstallEfiSystemResourceTableInUefiConfigurationTable | ( | IN EFI_SYSTEM_RESOURCE_TABLE * | Table | ) |
BOOLEAN IsSystemFmp | ( | IN EFI_FIRMWARE_IMAGE_DESCRIPTOR * | FmpImageInfo | ) |
Return if this FMP is a system FMP or a device FMP, based upon FmpImageInfo.
[in] | FmpImageInfo | A pointer to EFI_FIRMWARE_IMAGE_DESCRIPTOR |
VOID EFIAPI PrintTable | ( | IN EFI_SYSTEM_RESOURCE_TABLE * | Table | ) |
Print ESRT to debug console.
[in] | Table | Pointer to the ESRT table. |
Function to print the ESRT table to the debug console.
[in] | Table | - Pointer to the ESRT table |
Definition at line 94 of file EsrtFmpDebugPrint.c.