On 08/11/2015 09:08 PM, 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. This new version (V3) 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. > > 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)
* Main changes are in Patch 4 and 5. * I left Laszlo out in Acked-by of Patch 4 as most comments were from him in this patch. * I tested UUID and it did show up correctly inside the guest VM. Thanks, -Wei > > 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 (5): > smbios: extract x86 smbios building code into a function > smbios: remove dependency on x86 e820 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 | 25 +++++++++ > 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 | 102 > +++++++++++++++++++++++------------ > include/hw/{i386 => smbios}/smbios.h | 53 ++++++++++++++---- > qemu-options.hx | 2 +- > tests/bios-tables-test.c | 2 +- > vl.c | 2 +- > 16 files changed, 191 insertions(+), 70 deletions(-) > create mode 100644 hw/smbios/Makefile.objs > rename hw/{i386 => smbios}/smbios.c (93%) > rename include/hw/{i386 => smbios}/smbios.h (85%) >