## @file
# A simple DXE_DRIVER that causes the PCI Bus UEFI_DRIVER to allocate 64-bit
# MMIO BARs above 4 GB, regardless of option ROM availability (as long as a CSM
# is not present), conserving 32-bit MMIO aperture for 32-bit BARs.
#
# Copyright (C) 2016, Red Hat, Inc.
#
# This program and the accompanying materials are licensed and made available
# under the terms and conditions of the BSD License which accompanies this
# distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
# WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = IncompatiblePciDeviceSupportDxe
  FILE_GUID                      = F6697AC4-A776-4EE1-B643-1FEFF2B615BB
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = DriverInitialize

[Sources]
  IncompatiblePciDeviceSupport.c

[Packages]
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  DebugLib
  MemoryAllocationLib
  PcdLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint

[Protocols]
  gEfiIncompatiblePciDeviceSupportProtocolGuid ## SOMETIMES_PRODUCES
  gEfiLegacyBiosProtocolGuid                   ## NOTIFY

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration ## CONSUMES
  gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size                ## CONSUMES

[Depex]
  TRUE
