/** @file @copyright Copyright 2015 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PLAT_OPROM_ #define _PLAT_OPROM_ #include typedef enum _OPROM_LOAD_POLICY { DONT_LOAD, EXCLUSIVE_LOAD, INCLUSIVE_LOAD } OPROM_LOAD_POLICY; /** Decide if BIOS embdded option roms should be loaded for a certain PCI device. @param PciIo PCI device to return the ROM image for. @retval TRUE BIOS embedded option roms should not be loaded for the PCI device. @retval FALSE BIOS embedded option roms could be loaded for the PCI device. **/ BOOLEAN PlatformOpromLoadDevicePolicy ( IN EFI_PCI_IO_PROTOCOL *PciIo ); /** For devices that support multiple option roms like FCoE, PXE, iSCSI etc., this function decides if one of these BIOS embdded option roms should be loaded for a certain PCI device based on platform choices. @param PciHandle PCI device to return the ROM image for. @param TableIndex The index pointing to the option rom in the platform option rom table for the PCI device. @retval FALSE The specific BIOS embedded option rom should not be loaded for the PCI device. @retval TRUE The specific BIOS embedded option rom could be loaded for a certain PCI device. **/ OPROM_LOAD_POLICY PlatformOpromLoadTypePolicy ( IN EFI_HANDLE PciHandle, IN UINTN TableIndex ); /** Decide if a PCIe device option rom should be dispacthed. @param PciHandle PCI device handle. @retval FALSE The specific PCIe option rom should not be dispatched for the PCI device. @retval TRUE The specific PCIe option rom could be dispatched for a certain PCI device. **/ BOOLEAN PlatformOpromDispatchPolicy ( IN EFI_HANDLE DeviceHandle ); /** Enable the legacy console redirection before dispatch the legacy ORPOM or disable the legacy console redirection after dispatch the legacy ORPOM based on setup option and SOL status. @param Mode Subfunction. @param CheckIsAhciRom If the device is legacy Ahci device. @retval **/ VOID PlatformOpromLegacyCRPolicy ( IN UINTN Mode, IN BOOLEAN CheckIsAhciRom ); #endif