Hi Wei, So, I can verify that this works all the way into Linux userland dmidecode on arm64.
One question: This set still leaves the -smbios set of options x86 only. Would --- a/qemu-options.hx +++ b/qemu-options.hx @@ -1412,7 +1412,7 @@ DEF("smbios", HAS_ARG, QEMU_OPTION_smbios, "-smbios type=17[,loc_pfx=str][,bank=str][,manufacturer=str][,serial=str]\n" " [,asset=str][,part=str][,speed=%d]\n" " specify SMBIOS type 17 fields\n", - QEMU_ARCH_I386) + QEMU_ARCH_I386 | QEMU_ARCH_ARM) STEXI @item -smbios file=@var{binary} @findex -smbios be relevant to add here (6/6), and would that then be expected to work for filling in values via command line (because that does not currently appear to be the case). / Leif On Thu, Aug 06, 2015 at 01:14:54PM -0400, Wei Huang wrote: > 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. > > RFC version have been tested by Laszlo using his customized version of > AAVMF. We were able to detect SMBIOS 2.8 tables using dmidecode inside > an AArch64 guest VM. Moving forward, it is better to support SMBIOS 3.0 > for ARM guest VM. This new version (V2) 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. > > 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 (6): > smbios: extract x86 smbios building code into a function > smbios: remove dependency on x86 e820 tables > smbios: pass ram size as a parameter to build smbios tables > smbios: move smbios code into a common folder > smbios: add smbios 3.0 support > smbios: implement smbios support for mach-virt > > arch_init.c | 2 +- > default-configs/arm-softmmu.mak | 1 + > default-configs/i386-softmmu.mak | 1 + > default-configs/x86_64-softmmu.mak | 1 + > hw/Makefile.objs | 1 + > hw/arm/virt.c | 27 ++++++++++ > hw/i386/Makefile.objs | 2 +- > hw/i386/pc.c | 56 ++++++++++++++------- > hw/i386/pc_piix.c | 5 +- > hw/i386/pc_q35.c | 5 +- > hw/smbios/Makefile.objs | 1 + > hw/{i386 => smbios}/smbios.c | 96 > +++++++++++++++++++++++------------- > include/hw/arm/virt-acpi-build.h | 1 + > include/hw/{i386 => smbios}/smbios.h | 56 ++++++++++++++++----- > tests/bios-tables-test.c | 2 +- > vl.c | 2 +- > 16 files changed, 188 insertions(+), 71 deletions(-) > create mode 100644 hw/smbios/Makefile.objs > rename hw/{i386 => smbios}/smbios.c (93%) > rename include/hw/{i386 => smbios}/smbios.h (83%) > > -- > 1.8.3.1 > >