Skip to content
Girish Mahadevan edited this page Apr 7, 2022 · 1 revision

SMBIOS documentation for NVIDIA platforms

Feature Name: System Management BIOS (SMBIOS)

PI Phase(s) Supported: DXE

SMM Required? No

More Information:

SMBIOS DMTF spec

Purpose

The SMBIOS feature provides management information via system firmware in accordance to the SMBIOS spec. SMBIOS data provides information about the processor, memory, peripherals that the HLOS can view after bootup.

High-Level Theory of Operation

The edk2/ArmPkg/Universal/Smbios/ has DXE modules that install SMBIOS tables. Currently the package supports Type 0,1,2,3,4,7,13,32 tables. The SmbiosDxe module relies on a vendor implemented Library OemMiscLib/ for populating vendor specific information needed to populate the SMBIOS tables.

Firmware Volumes

UEFI_NS

Modules

edk2/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/

Description: DXE module that installs the SMBIOS tables for Processor (Type 4) and Cache information (Type 7).

edk2/ArmPkg/Universal/Smbios/SmbiosMiscDxe/

Description: DXE module that installs the SMBIOS tables for BIOS (Type 0), Baseboard (Type 1), System (Type 2), Chassis (Type 3), Language (Type 13) and Boot (Type 32).

edk2-nvidia/Silicon/NVIDIA/Library/OemMiscLib/

Description: NVIDIA's implementation of the OemMiscLib Library that is used by the DXE modules in edk2/ArmPkg/Universal/Smbios. This library provides SOC/platform specific information needed by the SMBIOS DXE modules.

Key Functions

The SMBIOS tables installed can be viewed from the UEFI shell using a shell application called smbiosView. HLOS also has utilities to view the installed SMBIOS tables (e.g Linux has a utility called dmidecode to view the SMBIOS tables).

Configuration

The following PCDs can be modified to install custom data

Typ02 Data

gNVIDIATokenSpaceGuid.PcdBoardChassisLocation gNVIDIATokenSpaceGuid.PcdBoardVersion gNVIDIATokenSpaceGuid.PcdBoardManufacturer gNVIDIATokenSpaceGuid.PcdBoardProductName

Type01 Table Data

gNVIDIATokenSpaceGuid.PcdSystemSerialNum gNVIDIATokenSpaceGuid.PcdSystemManufacturer gNVIDIATokenSpaceGuid.PcdSystemSku gNVIDIATokenSpaceGuid.PcdSystemFamilyType

Type03 Table Data

gNVIDIATokenSpaceGuid.PcdType3Info gNVIDIATokenSpaceGuid.PcdChassisSku gNVIDIATokenSpaceGuid.PcdChassisManufacturer gNVIDIATokenSpaceGuid.PcdChassisSerialNumber gNVIDIATokenSpaceGuid.PcdChassisAssetTag gNVIDIATokenSpaceGuid.PcdChassisVersion

Type32 Table Data

gNVIDIATokenSpaceGuid.PcdType32Info

Test Point Results

The installed SMBIOS tables were viewed using UEFI shell application smbiosview and from Linux using dmidecode.

Functional Exit Criteria

SMBIOS tables can be viewed via UEFI shell using the smbiosView command. If the tables are installed, then the command will list all the tables.

Feature Enabling Checklist

The required modules/libraries are enabled by default so the SMBIOS tables should be installed.