From 48b850898bce15cc978f228162fc0bbe7b5b291b Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Mon, 2 Feb 2015 19:09:02 +0000 Subject: [PATCH] OvmfPkg/AcpiPlatformDxe: Add QEMU fw-cfg only driver Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen Reviewed-by: Laszlo Ersek Signed-off-by: Laszlo Ersek git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16697 6f19259b-4bc3-4df7-8a09-765794883524 --- .../AcpiPlatformDxe/QemuFwCfgAcpiPlatform.c | 52 ++++++++++++++++++ .../QemuFwCfgAcpiPlatformDxe.inf | 53 +++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatform.c create mode 100644 OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf diff --git a/OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatform.c b/OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatform.c new file mode 100644 index 0000000000..88512ba3f4 --- /dev/null +++ b/OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatform.c @@ -0,0 +1,52 @@ +/** @file + OVMF ACPI Platform Driver using QEMU's fw-cfg interface + + Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.
+ 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. + +**/ + +#include "AcpiPlatform.h" + +/** + Entrypoint of Acpi Platform driver. + + @param ImageHandle + @param SystemTable + + @return EFI_SUCCESS + @return EFI_LOAD_ERROR + @return EFI_OUT_OF_RESOURCES + +**/ +EFI_STATUS +EFIAPI +QemuFwCfgAcpiPlatformEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + EFI_ACPI_TABLE_PROTOCOL *AcpiTable; + + // + // Find the AcpiTable protocol + // + Status = gBS->LocateProtocol ( + &gEfiAcpiTableProtocolGuid, + NULL, + (VOID**)&AcpiTable + ); + if (EFI_ERROR (Status)) { + return EFI_ABORTED; + } + + Status = InstallAllQemuLinkedTables (AcpiTable); + return Status; +} diff --git a/OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf b/OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf new file mode 100644 index 0000000000..56f9510bbc --- /dev/null +++ b/OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf @@ -0,0 +1,53 @@ +## @file +# OVMF ACPI Platform Driver using QEMU's fw-cfg interface +# +# Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.
+# 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 = QemuFwCfgAcpiPlatform + FILE_GUID = 17985e6f-e778-4d94-aefa-c5dd2b77e186 + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + ENTRY_POINT = QemuFwCfgAcpiPlatformEntryPoint + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 +# + +[Sources] + QemuFwCfgAcpiPlatform.c + QemuFwCfgAcpi.c + +[Packages] + MdePkg/MdePkg.dec + OvmfPkg/OvmfPkg.dec + +[LibraryClasses] + BaseLib + DebugLib + MemoryAllocationLib + OrderedCollectionLib + QemuFwCfgLib + UefiBootServicesTableLib + UefiDriverEntryPoint + +[Protocols] + gEfiAcpiTableProtocolGuid # PROTOCOL ALWAYS_CONSUMED + +[Depex] + gEfiAcpiTableProtocolGuid + +[Depex.IA32, Depex.X64] + gEfiPciEnumerationCompleteProtocolGuid -- 2.39.2