[PATCH v3 00/10] SMBIOS improvements
Ilias Apalodimas
ilias.apalodimas at linaro.org
Mon Dec 16 16:43:00 CET 2024
Hi Simon,
On Mon, 16 Dec 2024 at 17:16, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Raymond,
>
> On Fri, 6 Dec 2024 at 15:54, Raymond Mao <raymond.mao at linaro.org> wrote:
> >
> > Motivations for changes:
> > Current SMBIOS library and command-line tool is not fully matching with
> > the requirements:
> > 1. Missing support for other mandatory types (#7, #9, #16, #17, #19).
> > 2. Only a few platforms support SMBIOS node from the device tree.
> > 3. Values of some fields are hardcoded in the library other than fetching
> > from the device hardware.
> > 4. Embedded data with dynamic length is not supported (E.g. Contained
> > Object Handles in Type #2 and Contained Elements in Type #3)
> >
> > Changes:
> > 1. Refactor the SMBIOS library and command-line tool to better align with
> > the SMBIOS spec.
> > 2. Create an arch-specific driver for all aarch64-based platforms to fetch
> > SMBIOS private data from the device hardware (processor and cache).
> > 3. Create a sysinfo driver to poppulate platform SMBIOS private data.
> > 4. Add generic SMBIOS DTS file for arm64 platforms for those common strings
> > and values which cannot be retrieved from the system registers.
> > Vendors can create their own SMBIOS node using this as an example.
> > For those boards without SMBIOS nodes, this DTS file can be included to
> > have a generic SMBIOS information of the system.
> > 5. Add support for Type #7 (Cache Information) and link its handles to
> > Type #4.
> > 6. To minimize size-growth for those platforms which have not sufficient
> > ROM spaces or the platforms which don't need detailed SMBIOS
> > information, new added fields are only being built when kconfig
> > GENERATE_SMBIOS_TABLE_VERBOSE is selected.
> >
> > Once this patch is acceptted, subsequent patch sets will add other missing
> > types (#9, #16, #17, #19).
> >
> > Tests:
> > To test this with QEMU arm64, please follow the guide on dt_qemu.rst to
> > get a merged DT to run with.
> > ```
> > qemu-system-aarch64 -machine virt -machine dumpdtb=qemu.dtb
> > cat <(dtc -I dtb qemu.dtb) <(dtc -I dtb ./dts/dt.dtb | grep -v /dts-v1/) \
> > | dtc - -o merged.dtb
> > qemu-system-aarch64 -machine virt -nographic -bios u-boot.bin \
> > -dtb merged.dtb
> > ```
> >
> > Raymond Mao (10):
> > smbios: Refactor the smbios headfile
> > sysinfo: Add sysinfo API for accessing data area
> > test/dm: add sandbox test for sysinfo_get_data
> > sysinfo: Add sysinfo driver and data structure for smbios
> > smbios: Refactor smbios library
> > smbios: add detailed smbios information
> > armv8: Add arch-specific sysinfo platform driver
> > armv8: Add generic smbios information into the device tree
> > cmd: update smbios cmd
> > configs: Enable sysinfo for QEMU Arm64
> >
> > arch/arm/cpu/armv8/Makefile | 2 +
> > arch/arm/cpu/armv8/sysinfo.c | 292 ++++++++++++++++++++
> > arch/arm/dts/qemu-arm64.dts | 4 +
> > arch/arm/dts/smbios_generic.dtsi | 82 ++++++
> > cmd/smbios.c | 348 +++++++++++++++++++++---
> > configs/qemu_arm64_defconfig | 3 +
> > drivers/misc/Kconfig | 2 +-
> > drivers/sysinfo/sandbox.c | 19 ++
> > drivers/sysinfo/sandbox.h | 1 +
> > drivers/sysinfo/smbios.c | 228 ++++++++++++++++
> > drivers/sysinfo/sysinfo-uclass.c | 20 ++
> > include/smbios.h | 158 ++++++-----
> > include/smbios_def.h | 194 ++++++++++++++
> > include/smbios_plat.h | 79 ++++++
> > include/sysinfo.h | 125 ++++++++-
> > lib/Kconfig | 6 +
> > lib/smbios.c | 445 ++++++++++++++++++++++++++-----
> > test/dm/sysinfo.c | 6 +
> > test/py/tests/test_smbios.py | 18 +-
> > 19 files changed, 1863 insertions(+), 169 deletions(-)
> > create mode 100644 arch/arm/cpu/armv8/sysinfo.c
> > create mode 100644 arch/arm/dts/smbios_generic.dtsi
> > create mode 100644 include/smbios_def.h
> > create mode 100644 include/smbios_plat.h
> >
> > --
> > 2.25.1
> >
>
> I'm going to leave this series to you and Ilias as I don't really
> support bringing all this SMBIOS info in, just so we can run ACPI on
> ARM.
I don't think the current patchset has anything to do with ACPI. I do
not like revising SMBIOS any more than you do but....
With systemready etc, we are now easily booting distros. Distros rely
on smbios tooling for some of their bug reports, so we are just trying
to make their lives easier. I hope that we can completely disable it
when distros move forward
Since Peter used to work for a distro, he can fill up anything I've missed
Thanks
/Ilias
> Please just avoid code-size increase and breaking any x86
> platforms.
>
> Regards
>
> Simon
More information about the U-Boot
mailing list