[PATCH v6 0/6] Implement all missing SMBIOS types required by distro tooling

Raymond Mao
2026-02-13T22:53:16Z

From: Raymond Mao <raymond.mao@riscstar.com>

This series finish the last missing puzzle of required SMBIOS types by:
1) Fixing duplicated handles when multiple instances exist in one type;
2) Implementing the rest of required types 9/16/17/19;
3) Adding version control when printing properties for all types.

Type 9/16/17/19 are generally DT-based, the idea is to write these tables
using a hybrid approach:
Explicit DT definitions under existing '/smbios/smbios' take precedence,
with fallback to scan and interpret values from the entire DT.

Moreover, all below APIs:
smbios_get_val_si()
smbios_get_u64_si()
smbios_add_prop_si()
are on top of sysinfo, thus allow vendors to get values from other
subsystems by implementing their own sysinfo driver if needed.

Raymond Mao (6):
smbios: Fix duplicated smbios handles
smbios: add support for dynamic generation of Type 9 system slot
tables
smbios: add support for dynamic generation of Type 16 table
smbios: add support for dynamic generation of Type 17 table
smbios: add support for dynamic generation of Type 19 table
smbios: print the properties only when they exist in a specified
version of spec

arch/arm/dts/smbios_generic.dtsi | 12 +
cmd/smbios.c | 365 +++++++++-
drivers/sysinfo/smbios.c | 5 +
include/smbios.h | 151 ++++
include/smbios_def.h | 250 +++++++
include/sysinfo.h | 4 +
lib/smbios.c | 1151 +++++++++++++++++++++++++++++-
7 files changed, 1905 insertions(+), 33 deletions(-)

--
2.25.1