diff options
author | Zhiguang Liu <zhiguang.liu@intel.com> | 2021-04-01 17:08:35 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2021-06-16 05:20:19 +0000 |
commit | 8c0d678063833a7b2b81462b78de3d8d70de9a5c (patch) | |
tree | ba6788c0d09cd90e3a6ba86c06ce82852bb1b960 /UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | |
parent | 761329ee27e2202e22bcb4fc5407cbbdeee27bb4 (diff) | |
download | edk2-8c0d678063833a7b2b81462b78de3d8d70de9a5c.tar.gz edk2-8c0d678063833a7b2b81462b78de3d8d70de9a5c.tar.bz2 edk2-8c0d678063833a7b2b81462b78de3d8d70de9a5c.zip |
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/UefiPayloadEntry.c')
-rw-r--r-- | UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c index 80f66a3fd5..8c6f7e326f 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);
|