[edk2-devel] [PATCH 9/9] UefiPayloadPkg: Creat gPldAcpiTableGuid Hob
Patrick Rudolph
patrick.rudolph at 9elements.com
Wed May 26 13:50:21 UTC 2021
On Mon, May 24, 2021 at 9:13 AM Zhiguang Liu <zhiguang.liu at intel.com> wrote:
> 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.ma at intel.com>
> Cc: Guo Dong <guo.dong at intel.com>
> Cc: Benjamin You <benjamin.you at intel.com>
> Cc: Ray Ni <ray.ni at intel.com>
> Signed-off-by: Zhiguang Liu <zhiguang.liu at 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 +
> 6 files changed, 14 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);
> - }
> -
>
Note that AcpiTableDxe.inf is currently not part of the FV on
UefipayloadPkg, so there won't be any tables installed after all.
//
> // 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 7b71d37f94..14b7a732da 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;
> PLD_SMBIOS_TABLE *SmBiosTableHob;
> + PLD_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 gPldSmbiosTableGuid guid
> hob\n"));
>
> + //
> + // Creat ACPI table Hob
> + //
> + AcpiTableHob = BuildGuidHob (&gPldAcpiTableGuid, sizeof
> (PLD_ACPI_TABLE));
> + ASSERT (AcpiTableHob != NULL);
> + AcpiTableHob->PldHeader.Revision = PLD_ACPI_TABLE_REVISION;
> + AcpiTableHob->PldHeader.Length = sizeof (PLD_ACPI_TABLE);
> + AcpiTableHob->Rsdp = SysTableInfo.AcpiTableBase;
> + DEBUG ((DEBUG_INFO, "Create smbios table gPldAcpiTableGuid guid
> hob\n"));
> +
>
DEBUG ((DEBUG_INFO, "Create acpi table ...
//
> // 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 444f39acf3..01388b8831 100644
> --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
> +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
> @@ -65,6 +65,7 @@
> gEfiGraphicsDeviceInfoHobGuid
> gUefiAcpiBoardInfoGuid
> gPldSmbiosTableGuid
> + gPldAcpiTableGuid
>
> [FeaturePcd.IA32]
> gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ##
> CONSUMES
> --
> 2.30.0.windows.2
>
>
>
> ------------
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#75493): https://edk2.groups.io/g/devel/message/75493
> Mute This Topic: https://groups.io/mt/83045527/2917327
> Group Owner: devel+owner at edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [
> patrick.rudolph at 9elements.com]
> ------------
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75662): https://edk2.groups.io/g/devel/message/75662
Mute This Topic: https://groups.io/mt/83045527/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20210526/c4c819d6/attachment.htm>
More information about the edk2-devel-archive
mailing list