Scanning for PCI Option ROMs on UEFI works with full PCI enumeration. On platforms where the bootloader has done PCI enumeration a platform specific driver needs to provide the Option ROMs. As this is not specific to any platform, but rather to the UEFI as payload concept, add the PCI platform driver to UefiPayloadPkg. On coreboot the ROM BAR is part of the PCI bridge MMIO window and can safely enabled if existing. The Option ROMs are not passed in by bootloader in a HOB as: - they might not fit into a HOB - this is EDK2 specific and would just bloat the bootloader code - would waste lot's of non reclaimable memory if placed in e820 reserved DRAM space Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
47 lines
1.1 KiB
INI
47 lines
1.1 KiB
INI
## @file
|
|
# This driver produces gEfiPciPlatform protocol to load PCI Option ROMs
|
|
#
|
|
# Copyright (c) 2022, 9elements Agency GmbH
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = PciPlatformDxe
|
|
FILE_GUID = 86D58F7B-6E7C-401F-BDD4-E32E6D582AAD
|
|
MODULE_TYPE = UEFI_DRIVER
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = InstallPciPlatformProtocol
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
#
|
|
|
|
[Sources.common]
|
|
PciPlatformDxe.h
|
|
PciPlatformDxe.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiDriverEntryPoint
|
|
UefiBootServicesTableLib
|
|
DxeServicesTableLib
|
|
DebugLib
|
|
MemoryAllocationLib
|
|
BaseMemoryLib
|
|
DevicePathLib
|
|
UefiLib
|
|
HobLib
|
|
|
|
[Protocols]
|
|
gEfiPciPlatformProtocolGuid ## PRODUCES
|
|
gEfiPciIoProtocolGuid ## COMSUMES
|