From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35287) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZJxwX-0001ey-EI for qemu-devel@nongnu.org; Tue, 28 Jul 2015 02:00:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZJxwT-00024b-0M for qemu-devel@nongnu.org; Tue, 28 Jul 2015 02:00:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34173) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZJxwS-00023W-Rd for qemu-devel@nongnu.org; Tue, 28 Jul 2015 02:00:44 -0400 From: Wei Huang Date: Tue, 28 Jul 2015 02:00:09 -0400 Message-Id: <1438063215-4117-1-git-send-email-wei@redhat.com> Subject: [Qemu-devel] [ARM SMBIOS V1 PATCH 0/6] SMBIOS Support for ARM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Wei Huang , peter.maydell@linaro.org, drjones@redhat.com, ehabkost@redhat.com, mst@redhat.com, somlo@cmu.edu, ard.biesheuvel@linaro.org, zhaoshenglong@huawei.co, pbonzini@redhat.com, imammedo@redhat.com, lersek@redhat.com, rth@twiddle.net 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 (V1) integrates SMBIOS 3.0 support for ARM mach-virt. I have tested this version by forcing SMBIOS 2.1 format (i.e. passing SMBIOS_21_ENTRY_POINT to smbios_set_defaults()). SMBIOS 3.0 hasn't been tested yet as it requires AAVMF to install 3.0 entry. 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 | 24 +++++++++ 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 | 42 ++++++++++++++-- tests/bios-tables-test.c | 2 +- vl.c | 2 +- 16 files changed, 179 insertions(+), 63 deletions(-) create mode 100644 hw/smbios/Makefile.objs rename hw/{i386 => smbios}/smbios.c (93%) rename include/hw/{i386 => smbios}/smbios.h (84%) -- 1.8.3.1