From: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
To: Laszlo Ersek <lersek@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Jean Delvare <jdelvare@suse.de>
Cc: Wei Huang <wei@redhat.com>,
Shannon Zhao <zhaoshenglong@huawei.co>,
Andrew Jones <drjones@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Gabriel L. Somlo" <somlo@cmu.edu>,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
QEMU Developers <qemu-devel@nongnu.org>,
Roy Franz <roy.franz@linaro.org>,
Igor Mammedov <imammedo@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [ARM SMBIOS V1 PATCH 0/6] SMBIOS Support for ARM
Date: Wed, 05 Aug 2015 22:39:57 +0300 [thread overview]
Message-ID: <55C2668D.8040008@linaro.org> (raw)
In-Reply-To: <55C25764.9090302@redhat.com>
Hi Laszlo
On 05.08.15 21:35, Laszlo Ersek wrote:
> On 08/05/15 19:35, Peter Maydell wrote:
>> On 5 August 2015 at 18:16, Laszlo Ersek <lersek@redhat.com> wrote:
>>> On 07/28/15 08:00, 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 (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%)
>>>>
>>>
>>> I was hoping there would be a focused review from the subsystem
>>> maintainers / feature owners for this patchset. Thus far only Shannon
>>> commented on the series, plus I tested it and reported a small bug (with
>>> a fix).
>>>
>>> Peter: if I review this series (and version 2 that Wei is already
>>> planning to post, in order to address the notes above, plus anything
>>> that further review might turn up), will my review suffice for you to
>>> apply this series (after 2.4 is out)?
>>
>> Maybe. I haven't looked at the series at all, because it fell
>> under "not for 2.4 and not something I know enough about to
>> easily and quickly review" (and besides 5 out of 6 patches are
>> not ARM-related but just about refactoring the x86 code).
>>
>> What is SMBIOS supposed to provide for ARM virt anyway?
>
> No clue. It is dictated by the most recent SMBIOS (3.0) spec. The actual
> contents is dictated by asset management needs ("run dmidecode, look at
> this and that in the output"). So this series should not be reviewed
> primarily for SMBIOS payload, but for correctness of refactoring, and
> well-formedness of the new tables. At least the latter point seems to be
> confirmed by testing already.
>
>> I would have expected all the information a guest needs
>> to be in the dtb or ACPI tables...
>
> SMBIOS is usually not needed by the guest OS or the firmware. The spec says,
>
> [...] the System Management BIOS Reference Specification addresses
> how motherboard and system vendors present management information
> about their products in a standard format by extending the BIOS
> interface on Intel architecture systems. The information is intended
> to allow generic instrumentation to deliver this data to management
> applications that use CIM (the WBEM data model) or direct access and
> eliminates the need for error prone operations such as probing system
> hardware for presence detection. [...]
>
> (The Intel-specificity in the Introduction that I quoted is certainly a
> bug in the spec, because under 1 Scope | 1.1 Supported processor
> architectures, Aarch32 and Aarch64 too are listed.)
>
> As far as I know (although I have no hard evidence), SMBIOS 3.0 was
> brought about by ARM platform needs. Aarch64 hardware that I have access
> to seems to expose SMBIOS 3.0 indeed, therefore we should do the same in
> qemu.
>
>> Is support for this all in the mainline kernel yet?
>
> Yes, it is. See (minimally)
>
> $ git log --reverse fc43026278^.. -- drivers/firmware/dmi*
>
> There are patches for arch/arm64/ and drivers/firmware/efi/ too (Ard
> will know better, he wrote at least a few of them).
>
> The userspace tools are in a more messy state AFAICT. For example I'm
> unable to locate a *git* repository for upstream dmidecode. But, Ivan
> and Roy should know better (Cc'd).
There is no git repo for dmidecode.
Only CVS: http://savannah.nongnu.org/cvs/?group=dmidecode
AFAIK, It supports SMBIOSv3 already.
+ Jean Delvare, who is creator of dmidecode, as I know.
>
> See also CARD-1779.
>
> Also, guest userspace is not QEMU's problem :)
>
> Thanks
> Laszlo
>
--
Regards,
Ivan Khoronzhuk
next prev parent reply other threads:[~2015-08-05 19:40 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-28 6:00 [Qemu-devel] [ARM SMBIOS V1 PATCH 0/6] SMBIOS Support for ARM Wei Huang
2015-07-28 6:00 ` [Qemu-devel] [ARM SMBIOS V1 PATCH 1/6] smbios: extract x86 smbios building code into a function Wei Huang
2015-07-28 6:00 ` [Qemu-devel] [ARM SMBIOS V1 PATCH 2/6] smbios: remove dependency on x86 e820 tables Wei Huang
2015-07-28 6:00 ` [Qemu-devel] [ARM SMBIOS V1 PATCH 3/6] smbios: pass ram size as a parameter to build smbios tables Wei Huang
2015-07-28 6:00 ` [Qemu-devel] [ARM SMBIOS V1 PATCH 4/6] smbios: move smbios code into a common folder Wei Huang
2015-07-28 6:00 ` [Qemu-devel] [ARM SMBIOS V1 PATCH 5/6] smbios: add smbios 3.0 support Wei Huang
2015-07-31 17:12 ` Laszlo Ersek
2015-07-28 6:00 ` [Qemu-devel] [ARM SMBIOS V1 PATCH 6/6] smbios: implement smbios support for mach-virt Wei Huang
2015-07-31 2:11 ` Shannon Zhao
2015-07-31 6:08 ` Wei Huang
2015-08-05 17:16 ` [Qemu-devel] [ARM SMBIOS V1 PATCH 0/6] SMBIOS Support for ARM Laszlo Ersek
2015-08-05 17:35 ` Peter Maydell
2015-08-05 18:35 ` Laszlo Ersek
2015-08-05 19:39 ` Ivan Khoronzhuk [this message]
2015-08-05 22:03 ` Jean Delvare
2015-08-06 8:07 ` Laszlo Ersek
2015-08-06 8:16 ` Ivan Khoronzhuk
2015-08-06 11:20 ` Jean Delvare
2015-08-10 7:43 ` [Qemu-devel] dmidecode repository (Was: [ARM SMBIOS V1 PATCH 0/6] SMBIOS Support for ARM) Jean Delvare
2015-08-10 11:58 ` Laszlo Ersek
2015-08-10 12:26 ` Jean Delvare
2015-08-10 15:08 ` Laszlo Ersek
2015-08-06 12:41 ` [Qemu-devel] [ARM SMBIOS V1 PATCH 0/6] SMBIOS Support for ARM Andrew Jones
2015-08-07 11:12 ` Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55C2668D.8040008@linaro.org \
--to=ivan.khoronzhuk@linaro.org \
--cc=ard.biesheuvel@linaro.org \
--cc=drjones@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=jdelvare@suse.de \
--cc=lersek@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=roy.franz@linaro.org \
--cc=rth@twiddle.net \
--cc=somlo@cmu.edu \
--cc=wei@redhat.com \
--cc=zhaoshenglong@huawei.co \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).