The default EfiSmbiosProtocol operates on an empty SMBIOS table. The SMBIOS tables are provided by the bootloader on UefiPayloadPkg. Scan for existing tables in SmbiosDxe and load them if they seem valid. This fixes the settings menu not showing any hardware information, instead only "0 MB RAM" was displayed. Tests showed that the OS can still see the SMBIOS tables. SmbiosDxe will get the SMBIOS from a guid Hob. Also will keep the SmbiosHandle if it is available. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Zhichao Gao <zhichao.gao@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Tested-by: Patrick Rudolph <patrick.rudolph@9elements.com> Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
65 lines
1.8 KiB
INI
65 lines
1.8 KiB
INI
## @file
|
|
# This driver initializes and installs the SMBIOS protocol, constructs SMBIOS table into system configuration table.
|
|
#
|
|
# Copyright (c) 2009 - 2021, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = SmbiosDxe
|
|
MODULE_UNI_FILE = SmbiosDxe.uni
|
|
FILE_GUID = F9D88642-0737-49bc-81B5-6889CD57D9EA
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
|
|
ENTRY_POINT = SmbiosDriverEntryPoint
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64
|
|
#
|
|
|
|
[Sources]
|
|
SmbiosDxe.h
|
|
SmbiosDxe.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiBootServicesTableLib
|
|
MemoryAllocationLib
|
|
BaseMemoryLib
|
|
BaseLib
|
|
UefiLib
|
|
UefiDriverEntryPoint
|
|
DebugLib
|
|
PcdLib
|
|
HobLib
|
|
|
|
[Protocols]
|
|
gEfiSmbiosProtocolGuid ## PRODUCES
|
|
|
|
[Guids]
|
|
gEfiSmbiosTableGuid ## SOMETIMES_PRODUCES ## SystemTable
|
|
gEfiSmbios3TableGuid ## SOMETIMES_PRODUCES ## SystemTable
|
|
gUniversalPayloadSmbios3TableGuid ## CONSUMES ## HOB
|
|
gUniversalPayloadSmbiosTableGuid ## SOMETIMES_CONSUMES ## HOB
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod ## CONSUMES
|
|
|
|
[Depex]
|
|
TRUE
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
SmbiosDxeExtra.uni
|