This patch doesn't change the behavior of AcpiPlatformDxe when PcdPciDisableBusEnumeration is TRUE -- that is, when the driver runs on Xen (OvmfPkg and ArmVirtPkg both), or when the driver runs on QEMU as part of ArmVirtPkg but no PCI host bridge was found by VirtFdtDxe. In these cases the driver continues to install the ACPI tables immediately. However, when PcdPciDisableBusEnumeration is FALSE (i.e., when the driver runs on QEMU as part of OVMF, or as part of ArmVirtPkg and VirtFdtDxe finds a PCI host bridge), we now delay the ACPI table download from QEMU. We wait until the Platform BDS tells us that root bridges have been connected, and PciIo instances are available. The explanation is in the patch titled OvmfPkg: introduce gRootBridgesConnectedEventGroupGuid Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
74 lines
2.0 KiB
INI
74 lines
2.0 KiB
INI
## @file
|
|
# OVMF ACPI Platform Driver
|
|
#
|
|
# Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
|
|
# 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 = AcpiPlatform
|
|
FILE_GUID = 49970331-E3FA-4637-9ABC-3B7868676970
|
|
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 IPF EBC
|
|
#
|
|
|
|
[Sources]
|
|
AcpiPlatform.c
|
|
Qemu.c
|
|
QemuFwCfgAcpi.c
|
|
Xen.c
|
|
EntryPoint.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
OvmfPkg/OvmfPkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
PcAtChipsetPkg/PcAtChipsetPkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiLib
|
|
DxeServicesLib
|
|
PcdLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
UefiBootServicesTableLib
|
|
UefiDriverEntryPoint
|
|
HobLib
|
|
QemuFwCfgLib
|
|
MemoryAllocationLib
|
|
BaseLib
|
|
DxeServicesTableLib
|
|
OrderedCollectionLib
|
|
|
|
[Protocols]
|
|
gEfiAcpiTableProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
|
|
|
[Guids]
|
|
gEfiXenInfoGuid
|
|
gRootBridgesConnectedEventGroupGuid
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuLocalApicBaseAddress
|
|
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress
|
|
|
|
[Depex]
|
|
gEfiAcpiTableProtocolGuid
|