qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).