SMBIOS tables present userful system hardware info to management applications, such as DMI tools. Even though SMBIOS was originally developed for Intel x86, it has been extended to both Itanium and ARM (32bit & 64bit). More and more ARM server releases, such as RHEL Server for ARM, start to integrate support for SMBIOS.
This patchset is intendted to provid SMBIOS tables for ARM mach-virt machine. The SMBIOS tables are created and stored in fw_cfg, relying on OVMF (AAVMF) to parse/present SMBIOS entry. Given that refractoring patches have been accepted by upstream. This new version (V5) integrates SMBIOS 3.0 support for ARM mach-virt. I have tested this version using a customized AAVMF created by Laszlo, who has submitted his patches to OVMF mailing list. Compatibility tests for x86 VMs (Linux & Windows) also passed. V4->V5: * Fixed tests/bios-tables-test * Validated with ARM64/x86-64 VMs and passed "make test" V3->V4: * Patch 1 - 3 accepted by mst tree. So start from Patch 4 & 5 * Remove ep_length; Instead infer anchor_length from anchor string (mst) V2->V3: * Removed unncessary ram_size paramemter (patch 3 in V2, Laszlo) * Fixed UUID encode (Laszlo) * Added -smbios option (Leif) * Fixed misc variable defintion (Laszlo) * V2 regression tested on x86 (Gabriel and Leif) V1->V2: * Add NULL checking for fw_cfg (Shannon Zhao) * Init 3.0 entry point table max size to smbios_tables_len (Laszlo) * Minor re-arrangement of smbios.h layout with function headers to the bottom * Validated SMBIOS 3.0 tables with a customized AAVMF created by Laszlo RFC->V1: * Add SMBIOS 3.0 support for buidling SMBIOS * Switch from SMBIOS 2.1 to 3.0 for ARM mach-virt * RFC version Tested-by Laszlo Ersek and Acked-by Gabriel Somlo Thanks, -Wei Wei Huang (2): smbios: add smbios 3.0 support smbios: implement smbios support for mach-virt default-configs/arm-softmmu.mak | 1 + hw/arm/virt.c | 25 ++++++++++++ hw/i386/pc_piix.c | 3 +- hw/i386/pc_q35.c | 3 +- hw/smbios/smbios.c | 84 ++++++++++++++++++++++++++++++----------- include/hw/smbios/smbios.h | 62 +++++++++++++++++++++++------- qemu-options.hx | 2 +- tests/bios-tables-test.c | 6 +-- 8 files changed, 143 insertions(+), 43 deletions(-) -- 1.8.3.1