mirror of https://github.com/acidanthera/audk.git
UefiPayloadPkg: Create gUniversalPayloadSmbiosTableGuid Hob
From SysTableInfo Hob, get Smbios table address, and create gUniversalPayloadSmbiosTableGuid Hob to store it. Remove directly adding smbios table to ConfigurationTable. Dxe module SmbiosDxe will parse it and install smbios table from it. Cc: Maurice Ma <maurice.ma@intel.com> Cc: Guo Dong <guo.dong@intel.com> Cc: Benjamin You <benjamin.you@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>
This commit is contained in:
parent
70e8c9c3bc
commit
302a8f353c
|
@ -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
|
||||
//
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
UNIVERSAL_PAYLOAD_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 (&gUniversalPayloadSmbiosTableGuid, sizeof (UNIVERSAL_PAYLOAD_SMBIOS_TABLE));
|
||||
ASSERT (SmBiosTableHob != NULL);
|
||||
SmBiosTableHob->Header.Revision = UNIVERSAL_PAYLOAD_SMBIOS_TABLE_REVISION;
|
||||
SmBiosTableHob->Header.Length = sizeof (UNIVERSAL_PAYLOAD_SMBIOS_TABLE);
|
||||
SmBiosTableHob->SmBiosEntryPoint = SysTableInfo.SmbiosTableBase;
|
||||
DEBUG ((DEBUG_INFO, "Create smbios table gUniversalPayloadSmbiosTableGuid guid hob\n"));
|
||||
|
||||
//
|
||||
// Create guid hob for acpi board information
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
gUniversalPayloadSmbiosTableGuid
|
||||
|
||||
[FeaturePcd.IA32]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
|
||||
|
|
Loading…
Reference in New Issue