EmbeddedPkg: introduce PlatformHasAcpiLib

Add the shorter-term library instance outlined in the previous patch to
EmbeddedPkg, so that we can imbue AcpiTableDxe with a protocol dependency
on EDKII_PLATFORM_HAS_ACPI_GUID.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
This commit is contained in:
Laszlo Ersek 2017-03-17 13:47:35 +01:00
parent 05db0948cc
commit 786f476323
2 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,36 @@
/** @file
A hook-in library for MdeModulePkg/Universal/Acpi/AcpiTableDxe.
Plugging this library instance into AcpiTableDxe makes
EFI_ACPI_TABLE_PROTOCOL and (if enabled) EFI_ACPI_SDT_PROTOCOL depend on the
platform's dynamic decision whether to expose an ACPI-based hardware
description to the operating system.
Universal and platform specific DXE drivers that produce ACPI tables depend
on EFI_ACPI_TABLE_PROTOCOL / EFI_ACPI_SDT_PROTOCOL in turn.
Copyright (C) 2017, 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.
**/
#include <Base.h>
RETURN_STATUS
EFIAPI
PlatformHasAcpiInitialize (
VOID
)
{
//
// Do nothing, just imbue AcpiTableDxe with a protocol dependency on
// EDKII_PLATFORM_HAS_ACPI_GUID.
//
return RETURN_SUCCESS;
}

View File

@ -0,0 +1,40 @@
## @file
# A hook-in library for MdeModulePkg/Universal/Acpi/AcpiTableDxe.
#
# Plugging this library instance into AcpiTableDxe makes
# EFI_ACPI_TABLE_PROTOCOL and (if enabled) EFI_ACPI_SDT_PROTOCOL depend on the
# platform's dynamic decision whether to expose an ACPI-based hardware
# description to the operating system.
#
# Universal and platform specific DXE drivers that produce ACPI tables depend
# on EFI_ACPI_TABLE_PROTOCOL / EFI_ACPI_SDT_PROTOCOL in turn.
#
# Copyright (C) 2017, 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 = 1.25
BASE_NAME = PlatformHasAcpiLib
FILE_GUID = 29beb028-0958-447b-be0a-12229235d77d
MODULE_TYPE = BASE
VERSION_STRING = 1.0
LIBRARY_CLASS = PlatformHasAcpiLib|DXE_DRIVER
CONSTRUCTOR = PlatformHasAcpiInitialize
[Sources]
PlatformHasAcpiLib.c
[Packages]
EmbeddedPkg/EmbeddedPkg.dec
MdePkg/MdePkg.dec
[Depex]
gEdkiiPlatformHasAcpiGuid