Reviewed-by: Guo Dong <guo.d...@intel.com>
> -----Original Message----- > From: Liu, Zhiguang <zhiguang....@intel.com> > Sent: Wednesday, June 9, 2021 6:33 PM > To: devel@edk2.groups.io > Cc: Ma, Maurice <maurice...@intel.com>; Dong, Guo > <guo.d...@intel.com>; You, Benjamin <benjamin....@intel.com>; Ni, Ray > <ray...@intel.com> > Subject: [Patch V4 9/9] UefiPayloadPkg: Creat gPldAcpiTableGuid Hob > > From SysTableInfo Hob, get ACPI table address, and creat gPldAcpiTableGuid > Hob > to store it. Remove diretly adding ACPI table to ConfigurationTable. > Dxe ACPI driver will parse it and install ACPI table from Guid Hob. > > Cc: Maurice Ma <maurice...@intel.com> > Cc: Guo Dong <guo.d...@intel.com> > Cc: Benjamin You <benjamin....@intel.com> > Cc: Ray Ni <ray...@intel.com> > Signed-off-by: Zhiguang Liu <zhiguang....@intel.com> > --- > UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c | 17 ----------------- > UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h | 5 +---- > UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf | 1 - > UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 11 +++++++++++ > UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 2 +- > UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf | 1 + > UefiPayloadPkg/UefiPayloadPkg.fdf | 4 ++++ > 7 files changed, 18 insertions(+), 23 deletions(-) > > diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c > b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c > index 56b85b8e6d..ffd3427fb3 100644 > --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c > +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c > @@ -99,7 +99,6 @@ BlDxeEntryPoint ( > { > > EFI_STATUS Status; > > EFI_HOB_GUID_TYPE *GuidHob; > > - SYSTEM_TABLE_INFO *SystemTableInfo; > > EFI_PEI_GRAPHICS_INFO_HOB *GfxInfo; > > ACPI_BOARD_INFO *AcpiBoardInfo; > > > > @@ -113,22 +112,6 @@ BlDxeEntryPoint ( > Status = ReserveResourceInGcd (TRUE, > EfiGcdMemoryTypeMemoryMappedIo, 0xFED00000, SIZE_1KB, 0, > ImageHandle); // HPET > > ASSERT_EFI_ERROR (Status); > > > > - // > > - // Find the system table information guid hob > > - // > > - GuidHob = GetFirstGuidHob (&gUefiSystemTableInfoGuid); > > - ASSERT (GuidHob != NULL); > > - SystemTableInfo = (SYSTEM_TABLE_INFO *)GET_GUID_HOB_DATA > (GuidHob); > > - > > - // > > - // Install Acpi Table > > - // > > - if (SystemTableInfo->AcpiTableBase != 0 && SystemTableInfo- > >AcpiTableSize != 0) { > > - DEBUG ((DEBUG_ERROR, "Install Acpi Table at 0x%lx, length 0x%x\n", > SystemTableInfo->AcpiTableBase, SystemTableInfo->AcpiTableSize)); > > - Status = gBS->InstallConfigurationTable (&gEfiAcpiTableGuid, (VOID > *)(UINTN)SystemTableInfo->AcpiTableBase); > > - ASSERT_EFI_ERROR (Status); > > - } > > - > > // > > // Find the frame buffer information and update PCDs > > // > > diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h > b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h > index 512105fafd..3332a30eae 100644 > --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h > +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h > @@ -1,7 +1,7 @@ > /** @file > > The header file of bootloader support DXE. > > > > -Copyright (c) 2014, Intel Corporation. All rights reserved.<BR> > > +Copyright (c) 2021, Intel Corporation. All rights reserved.<BR> > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > **/ > > @@ -19,12 +19,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > #include <Library/IoLib.h> > > #include <Library/HobLib.h> > > > > -#include <Guid/Acpi.h> > > #include <Guid/SmBios.h> > > #include <Guid/SystemTableInfoGuid.h> > > #include <Guid/AcpiBoardInfoGuid.h> > > #include <Guid/GraphicsInfoHob.h> > > > > -#include <IndustryStandard/Acpi.h> > > - > > #endif > > diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf > b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf > index 30f41f8c39..1ccb250991 100644 > --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf > +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf > @@ -42,7 +42,6 @@ > HobLib > > > > [Guids] > > - gEfiAcpiTableGuid > > gUefiSystemTableInfoGuid > > gUefiAcpiBoardInfoGuid > > gEfiGraphicsInfoHobGuid > > diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c > b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c > index 80f66a3fd5..f44e0ea7f0 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 > > @@ -287,6 +288,16 @@ BuildHobFromBl ( > SmBiosTableHob->SmBiosEntryPoint = SysTableInfo.SmbiosTableBase; > > 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 > > // > > diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h > b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h > index e7d0d15118..a4c9da128e 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 fc5b5ce9d4..8d42925fcd 100644 > --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf > +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf > @@ -65,6 +65,7 @@ > gEfiGraphicsDeviceInfoHobGuid > > gUefiAcpiBoardInfoGuid > > gUniversalPayloadSmbiosTableGuid > > + gUniversalPayloadAcpiTableGuid > > > > [FeaturePcd.IA32] > > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## > CONSUMES > > diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf > b/UefiPayloadPkg/UefiPayloadPkg.fdf > index 8fc509024b..ed7fbcaddb 100644 > --- a/UefiPayloadPkg/UefiPayloadPkg.fdf > +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf > @@ -175,6 +175,10 @@ INF > MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf > INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf > > INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf > > > > +# > > +# ACPI Support > > +# > > +INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf > > > > # > > # Shell > > -- > 2.30.0.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#76314): https://edk2.groups.io/g/devel/message/76314 Mute This Topic: https://groups.io/mt/83435793/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-