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>
diff --git a/EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.c b/EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.c
new file mode 100644
index 0000000..2c73e71
--- /dev/null
+++ b/EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.c
@@ -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;

+}

diff --git a/EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf b/EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
new file mode 100644
index 0000000..6268293
--- /dev/null
+++ b/EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
@@ -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