## @file
#  OVMF ACPI Platform Driver
#
#  Copyright (c) 2020, Rebecca Cran <rebecca@bsdio.com>
#  Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
##

[Defines]
  INF_VERSION                    = 1.29
  BASE_NAME                      = AcpiPlatform
  FILE_GUID                      = D5F92408-BAB5-44CA-8A60-C212F01D7E9D
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = AcpiPlatformEntryPoint

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  AcpiPlatform.c
  AcpiPlatform.h
  Bhyve.c
  EntryPoint.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  OvmfPkg/OvmfPkg.dec
  UefiCpuPkg/UefiCpuPkg.dec

[LibraryClasses]
  AcpiPlatformLib
  BaseLib
  BaseMemoryLib
  BhyveFwCtlLib
  DebugLib
  DxeServicesTableLib
  MemoryAllocationLib
  OrderedCollectionLib
  PcdLib
  QemuFwCfgLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  UefiLib

[Protocols]
  gEfiAcpiTableProtocolGuid                     # PROTOCOL ALWAYS_CONSUMED
  gEfiFirmwareVolume2ProtocolGuid               # PROTOCOL SOMETIMES_CONSUMED
  gEfiPciIoProtocolGuid                         # PROTOCOL SOMETIMES_CONSUMED

[Guids]
  gRootBridgesConnectedEventGroupGuid

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile
  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration
  gUefiCpuPkgTokenSpaceGuid.PcdCpuLocalApicBaseAddress
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress

[Depex]
  gEfiAcpiTableProtocolGuid
