summaryrefslogtreecommitdiff
path: root/UefiPayloadPkg/UefiPayloadEntry
diff options
context:
space:
mode:
authorZhiguang Liu <zhiguang.liu@intel.com>2021-04-01 17:08:35 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-06-16 05:20:19 +0000
commit8c0d678063833a7b2b81462b78de3d8d70de9a5c (patch)
treeba6788c0d09cd90e3a6ba86c06ce82852bb1b960 /UefiPayloadPkg/UefiPayloadEntry
parent761329ee27e2202e22bcb4fc5407cbbdeee27bb4 (diff)
downloadedk2-8c0d678063833a7b2b81462b78de3d8d70de9a5c.zip
edk2-8c0d678063833a7b2b81462b78de3d8d70de9a5c.tar.gz
edk2-8c0d678063833a7b2b81462b78de3d8d70de9a5c.tar.bz2
UefiPayloadPkg: Create gUniversalPayloadAcpiTableGuid Hob
From SysTableInfo Hob, get ACPI table address, and create gUniversalPayloadAcpiTableGuid Hob to store it. Remove directly adding ACPI table to ConfigurationTable. Dxe ACPI driver will parse it and install ACPI table from Guid Hob. Cc: Maurice Ma <maurice.ma@intel.com> Cc: Guo Dong <guo.dong@intel.com> Cc: Benjamin You <benjamin.you@intel.com> Cc: Ray Ni <ray.ni@intel.com> Reviewed-by: Guo Dong <guo.dong@intel.com> Tested-by: Patrick Rudolph <patrick.rudolph@9elements.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
Diffstat (limited to 'UefiPayloadPkg/UefiPayloadEntry')
-rw-r--r--UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c11
-rw-r--r--UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h2
-rw-r--r--UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf1
3 files changed, 13 insertions, 1 deletions
diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
index 80f66a3..8c6f7e3 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
@@ -235,6 +235,7 @@ BuildHobFromBl (
EFI_PEI_GRAPHICS_DEVICE_INFO_HOB GfxDeviceInfo;
EFI_PEI_GRAPHICS_DEVICE_INFO_HOB *NewGfxDeviceInfo;
UNIVERSAL_PAYLOAD_SMBIOS_TABLE *SmBiosTableHob;
+ UNIVERSAL_PAYLOAD_ACPI_TABLE *AcpiTableHob;
//
// Parse memory info and build memory HOBs
@@ -288,6 +289,16 @@ BuildHobFromBl (
DEBUG ((DEBUG_INFO, "Create smbios table gUniversalPayloadSmbiosTableGuid guid hob\n"));
//
+ // Creat ACPI table Hob
+ //
+ AcpiTableHob = BuildGuidHob (&gUniversalPayloadAcpiTableGuid, sizeof (UNIVERSAL_PAYLOAD_ACPI_TABLE));
+ ASSERT (AcpiTableHob != NULL);
+ AcpiTableHob->Header.Revision = UNIVERSAL_PAYLOAD_ACPI_TABLE_REVISION;
+ AcpiTableHob->Header.Length = sizeof (UNIVERSAL_PAYLOAD_ACPI_TABLE);
+ AcpiTableHob->Rsdp = SysTableInfo.AcpiTableBase;
+ DEBUG ((DEBUG_INFO, "Create smbios table gUniversalPayloadAcpiTableGuid guid hob\n"));
+
+ //
// Create guid hob for acpi board information
//
Status = ParseAcpiInfo (SysTableInfo.AcpiTableBase, &AcpiBoardInfo);
diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
index e7d0d15..a4c9da1 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
@@ -32,7 +32,7 @@
#include <Guid/AcpiBoardInfoGuid.h>
#include <Guid/GraphicsInfoHob.h>
#include <UniversalPayload/SmbiosTable.h>
-
+#include <UniversalPayload/AcpiTable.h>
#define LEGACY_8259_MASK_REGISTER_MASTER 0x21
#define LEGACY_8259_MASK_REGISTER_SLAVE 0xA1
diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
index fc5b5ce..8d42925 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
@@ -65,6 +65,7 @@
gEfiGraphicsDeviceInfoHobGuid
gUefiAcpiBoardInfoGuid
gUniversalPayloadSmbiosTableGuid
+ gUniversalPayloadAcpiTableGuid
[FeaturePcd.IA32]
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES