[edk2-devel] [PATCH 6/9] UefiPayloadPkg: Creat gPldSmbiosTableGuid Hob

Guo Dong guo.dong at intel.com
Wed Jun 2 03:39:44 UTC 2021


Reviewed-by: Guo Dong <guo.dong at intel.com>

> -----Original Message-----
> From: Liu, Zhiguang <zhiguang.liu at intel.com>
> Sent: Monday, May 24, 2021 12:13 AM
> To: devel at edk2.groups.io
> Cc: Ma, Maurice <maurice.ma at intel.com>; Dong, Guo
> <guo.dong at intel.com>; You, Benjamin <benjamin.you at intel.com>
> Subject: [PATCH 6/9] UefiPayloadPkg: Creat gPldSmbiosTableGuid Hob
> 
> From SysTableInfo Hob, get Smbios table address, and creat
> gPldSmbiosTableGuid Hob
> to store it. Remove diretly adding smbios table to ConfigurationTable.
> Dxe module SmbiosDxe will parse it and install smbios table from it.
> 
> Cc: Maurice Ma <maurice.ma at intel.com>
> Cc: Guo Dong <guo.dong at intel.com>
> Cc: Benjamin You <benjamin.you at intel.com>
> Signed-off-by: Zhiguang Liu <zhiguang.liu at intel.com>
> ---
>  UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c           | 11 +----------
>  UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf         |  3 +--
>  UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c   | 12 +++++++++++-
>  UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h   |  3 ++-
>  UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf |  3 ++-
>  5 files changed, 17 insertions(+), 15 deletions(-)
> 
> diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c
> b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c
> index a746d0581e..56b85b8e6d 100644
> --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c
> +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c
> @@ -2,7 +2,7 @@
>    This driver will report some MMIO/IO resources to dxe core, extract smbios
> and acpi
> 
>    tables from bootloader.
> 
> 
> 
> -  Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.<BR>
> 
> +  Copyright (c) 2014 - 2021, Intel Corporation. All rights reserved.<BR>
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> 
> 
>  **/
> 
> @@ -129,15 +129,6 @@ BlDxeEntryPoint (
>      ASSERT_EFI_ERROR (Status);
> 
>    }
> 
> 
> 
> -  //
> 
> -  // Install Smbios Table
> 
> -  //
> 
> -  if (SystemTableInfo->SmbiosTableBase != 0 && SystemTableInfo-
> >SmbiosTableSize != 0) {
> 
> -    DEBUG ((DEBUG_ERROR, "Install Smbios Table at 0x%lx, length 0x%x\n",
> SystemTableInfo->SmbiosTableBase, SystemTableInfo->SmbiosTableSize));
> 
> -    Status = gBS->InstallConfigurationTable (&gEfiSmbiosTableGuid, (VOID
> *)(UINTN)SystemTableInfo->SmbiosTableBase);
> 
> -    ASSERT_EFI_ERROR (Status);
> 
> -  }
> 
> -
> 
>    //
> 
>    // Find the frame buffer information and update PCDs
> 
>    //
> 
> diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
> b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
> index cebc811355..30f41f8c39 100644
> --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
> +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
> @@ -3,7 +3,7 @@
>  #
> 
>  # Report some MMIO/IO resources to dxe core, extract smbios and acpi
> tables
> 
>  #
> 
> -#  Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.<BR>
> 
> +#  Copyright (c) 2014 - 2021, Intel Corporation. All rights reserved.<BR>
> 
>  #
> 
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  #
> 
> @@ -43,7 +43,6 @@
> 
> 
>  [Guids]
> 
>    gEfiAcpiTableGuid
> 
> -  gEfiSmbiosTableGuid
> 
>    gUefiSystemTableInfoGuid
> 
>    gUefiAcpiBoardInfoGuid
> 
>    gEfiGraphicsInfoHobGuid
> 
> diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
> b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
> index 805f5448d9..7b71d37f94 100644
> --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
> +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
> @@ -1,6 +1,6 @@
>  /** @file
> 
> 
> 
> -  Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.<BR>
> 
> +  Copyright (c) 2014 - 2021, Intel Corporation. All rights reserved.<BR>
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> 
> 
>  **/
> 
> @@ -234,6 +234,7 @@ BuildHobFromBl (
>    EFI_PEI_GRAPHICS_INFO_HOB        *NewGfxInfo;
> 
>    EFI_PEI_GRAPHICS_DEVICE_INFO_HOB GfxDeviceInfo;
> 
>    EFI_PEI_GRAPHICS_DEVICE_INFO_HOB *NewGfxDeviceInfo;
> 
> +  PLD_SMBIOS_TABLE                 *SmBiosTableHob;
> 
> 
> 
>    //
> 
>    // Parse memory info and build memory HOBs
> 
> @@ -276,6 +277,15 @@ BuildHobFromBl (
>      DEBUG ((DEBUG_INFO, "Detected Acpi Table at 0x%lx, length 0x%x\n",
> SysTableInfo.AcpiTableBase, SysTableInfo.AcpiTableSize));
> 
>      DEBUG ((DEBUG_INFO, "Detected Smbios Table at 0x%lx, length 0x%x\n",
> SysTableInfo.SmbiosTableBase, SysTableInfo.SmbiosTableSize));
> 
>    }
> 
> +  //
> 
> +  // Creat SmBios table Hob
> 
> +  //
> 
> +  SmBiosTableHob = BuildGuidHob (&gPldSmbiosTableGuid, sizeof
> (PLD_SMBIOS_TABLE));
> 
> +  ASSERT (SmBiosTableHob != NULL);
> 
> +  SmBiosTableHob->PldHeader.Revision = PLD_SMBIOS_TABLE_REVISION;
> 
> +  SmBiosTableHob->PldHeader.Length = sizeof (PLD_SMBIOS_TABLE);
> 
> +  SmBiosTableHob->SmBiosEntryPoint = SysTableInfo.SmbiosTableBase;
> 
> +  DEBUG ((DEBUG_INFO, "Create smbios table gPldSmbiosTableGuid guid
> hob\n"));
> 
> 
> 
>    //
> 
>    // Create guid hob for acpi board information
> 
> diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
> b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
> index 2c84d6ed53..e7d0d15118 100644
> --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
> +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
> @@ -1,6 +1,6 @@
>  /** @file
> 
>  *
> 
> -* Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> 
> +* Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
> 
>  *
> 
>  *  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  *
> 
> @@ -31,6 +31,7 @@
>  #include <Guid/MemoryMapInfoGuid.h>
> 
>  #include <Guid/AcpiBoardInfoGuid.h>
> 
>  #include <Guid/GraphicsInfoHob.h>
> 
> +#include <UniversalPayload/SmbiosTable.h>
> 
> 
> 
> 
> 
>  #define LEGACY_8259_MASK_REGISTER_MASTER  0x21
> 
> diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
> b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
> index cc59f1903b..444f39acf3 100644
> --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
> +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
> @@ -1,7 +1,7 @@
>  ## @file
> 
>  #  This is the first module for UEFI payload.
> 
>  #
> 
> -#  Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR>
> 
> +#  Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
> 
>  #  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
> 
>  #
> 
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> @@ -64,6 +64,7 @@
>    gEfiGraphicsInfoHobGuid
> 
>    gEfiGraphicsDeviceInfoHobGuid
> 
>    gUefiAcpiBoardInfoGuid
> 
> +  gPldSmbiosTableGuid
> 
> 
> 
>  [FeaturePcd.IA32]
> 
>    gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode      ##
> CONSUMES
> 
> --
> 2.30.0.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75931): https://edk2.groups.io/g/devel/message/75931
Mute This Topic: https://groups.io/mt/83045510/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list