/** @file @copyright Copyright 2008 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PLATFORM_OPTION_ROM_UPDATE_LIB_ #define _PLATFORM_OPTION_ROM_UPDATE_LIB_ #include #include #include #include #include "OnboardNicStructs.h" #define PLATFORM_OPTION_ROM_UPDATE_SIGNATURE SIGNATURE_32 ('P', 'B', 'D', 'S') #define PLATFORM_OPTION_ROM_UPDATE_VERSION 01 // {371BD79C-DE79-4c5f-AA2B-BC9EBEFA988F} STATIC EFI_GUID gPlatformOptionRomUpdateConfigDataGuid = { 0x371bd79c, 0xde79, 0x4c5f, { 0xaa, 0x2b, 0xbc, 0x9e, 0xbe, 0xfa, 0x98, 0x8f } }; typedef struct { EFI_GUID FileName; UINTN Segment; UINTN Bus; UINTN Device; UINTN Function; UINT16 VendorId; UINT16 DeviceId; } PC_PCI_OPTION_ROM_TABLE; typedef BOOLEAN (*PLATFORM_PCIE_ROOT_PORT_CHECK_CALLBACK) ( IN UINTN Bus, IN UINT32 PcieSlotOpromBitMap ); typedef EFI_STATUS (*PLATFORM_GET_OPTIONROM_TABLE) ( IN PC_PCI_OPTION_ROM_TABLE **OptionRomTable ); typedef EFI_STATUS (*PLATFORM_GET_NIC_SETUP_CONFIG) ( IN NIC_SETUP_CONFIGURATION_STUCT **NicSetupConfigTable, IN UINTN *NumOfConfig ); typedef EFI_STATUS (*PLATFORM_GET_NIC_CAPABILITY_TABLE) ( IN NIC_OPTIONROM_CAPBILITY_STRUCT **NicCapabilityTable, IN UINTN *NumOfNicCapTable ); typedef EFI_STATUS (*PLATFORM_SETUP_PCIE_SLOT_NUMBER ) ( OUT UINT8 *PcieSlotItemCtrl ); typedef struct { UINT32 Signature; UINT32 Version; PLATFORM_PCIE_ROOT_PORT_CHECK_CALLBACK CallCheckRootPort; PLATFORM_GET_OPTIONROM_TABLE GetOptionRomTable; PLATFORM_GET_NIC_SETUP_CONFIG GetNicSetupConfigTable; PLATFORM_GET_NIC_CAPABILITY_TABLE GetNicCapabilityTable; PLATFORM_SETUP_PCIE_SLOT_NUMBER SetupSlotNumber; } PLATFORM_OPTION_ROM_UPDATE_DATA; BOOLEAN PlatformCheckPcieRootPort ( IN UINTN Bus, IN UINT32 PcieSlotOpromBitMap ); EFI_STATUS PlatformGetOptionRomTable ( IN PC_PCI_OPTION_ROM_TABLE **OptionRomTable ); EFI_STATUS PlatformGetNicSetupConfigTable ( IN NIC_SETUP_CONFIGURATION_STUCT **NicSetupConfigTable, IN UINTN *NumOfConfig ); EFI_STATUS PlatformGetNicCapabilityTable ( IN NIC_OPTIONROM_CAPBILITY_STRUCT **NicCapabilityTable, IN UINTN *NumOfNicCapTable ); EFI_STATUS PlatformSetupPcieSlotNumber ( OUT UINT8 *PcieSlotItemCtrl ); #endif //_PLATFORM_OPTION_ROM_UPDATE_LIB_