All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Eduardo Habkost <ehabkost@redhat.com>,
	"Gabriel L. Somlo" <somlo@cmu.edu>,
	Shannon Zhao <zhaoshenglong@huawei.com>,
	qemu devel list <qemu-devel@nongnu.org>,
	Michael Walle <michael@walle.cc>,
	qemu-arm@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>
Subject: Re: [Qemu-arm] [PATCH v4 0/7] q35: add negotiable broadcast SMI
Date: Tue, 10 Jan 2017 17:06:00 +0200	[thread overview]
Message-ID: <20170110170453-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20161201170624.26496-1-lersek@redhat.com>

On Thu, Dec 01, 2016 at 06:06:17PM +0100, Laszlo Ersek wrote:
> * This is version 4 of the series; the last version was at
>   <http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg03582.html>.
> 
>   This version is practically a rewrite from scratch, seeking to address
>   the v3 feedback. Here's what the individual patches do:
> 
>   - Patch #1 rebases and extends Michael's "writeable fw_cfg blobs"
>     patch from Feb/March 2016. The changes relative to the original
>     patch are documented in the commit message (the code changes are
>     minimal).
> 
>   - Patches #2 and #3 turn the FW_CFG_FILE_SLOTS constant into a device
>     property, and expose the desired number of fw_cfg file slots to
>     board code. This is meant to address a concern raised by Paolo in
>     the v2 review
>     <http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg03125.html>,
>     namely that we're about to run out of FW_CFG_FILE_SLOTS.
> 
>   - Patch #4 introduces the "pc-q35-2.9" and "pc-i440fx-2.9" machine
>     types, which are allowed to take advantage of the new default for
>     fw_cfg file slots (0x20 rather than 0x10).
> 
>   - Patch #5 introduces SMI feature negotiation via fw_cfg, with the
>     following new files:
> 
>     - etc/smi/host-features
>     - etc/smi/guest-features
>     - etc/smi/features-ok
> 
>     This is supposed to follow Michael's recommendation re: imitating
>     virtio
>     <http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg03218.html>.
> 
>     The guest-features file is freely writeable by the guest (no write
>     callbacks in fw_cfg), and the feature validation & lockdown occurs
>     when the guest selects the features-ok file (for reading).
> 
>     Board code is allowed to choose the host feature bitmap to
>     advertise.
> 
>     This patch doesn't add any specific SMI features yet.
> 
>   - Patch #6 adds the ICH9_LPC_SMI_F_BROADCAST feature.
> 
>   - Patch #7 introduces the PCMachineClass.get_smi_host_features method,
>     and implements it for "pc-q35-2.9" and later. The idea is to tie the
>     SMI host features to machine types, and let the machine types
>     calculate their host features with code (i.e., not just a constant).
> 
>     In this patch, the "pc-q35-2.9" machine type exposes the
>     ICH9_LPC_SMI_F_BROADCAST feature iff (smp_cpus == max_cpus), that
>     is, when VCPU hotplug is not possible. (Also from Paolo's v3
>     feedback, in
>     <http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg04919.html>.)
> 
> * I've written the OVMF side patches too and tested them together
>   (including gdb / debug messages for "white box" testing).
> 
> * Note that this version depends on the following PULL req from Michael:
> 
>   [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes
>   http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg05503.html
> 
>   In particular on the following patch:
>   "loader: fix handling of custom address spaces when adding ROM blobs"
> 
> Cc: "Gabriel L. Somlo" <somlo@cmu.edu>
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Cc: Michael Walle <michael@walle.cc>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Cc: Shannon Zhao <zhaoshenglong@huawei.com>
> Cc: qemu-arm@nongnu.org
> 
> Thanks
> Laszlo

So I reviewed fw cfg stuff, looks good to me. I'd prefer Paolo to review
and merge broadcast SMI stuff as appropriate.  Paolo, makes sense?


> Laszlo Ersek (6):
>   fw-cfg: turn FW_CFG_FILE_SLOTS into a device property
>   fw-cfg: expose "file_slots" parameter in fw_cfg_init_io_dma()
>   hw/i386/pc: introduce 2.9 machine types with 0x20 fw_cfg file slots
>   hw/isa/lpc_ich9: add SMI feature negotiation via fw_cfg
>   hw/isa/lpc_ich9: add broadcast SMI feature
>   hw/i386/pc_q35: advertise broadcast SMI if VCPU hotplug is turned off
> 
> Michael S. Tsirkin (1):
>   fw-cfg: support writeable blobs
> 
>  docs/specs/fw_cfg.txt          |  36 +++++++++---
>  hw/lm32/lm32_hwsetup.h         |   2 +-
>  include/hw/compat.h            |  11 ++++
>  include/hw/i386/ich9.h         |  15 ++++-
>  include/hw/i386/pc.h           |   4 ++
>  include/hw/loader.h            |   7 ++-
>  include/hw/nvram/fw_cfg.h      |   5 +-
>  include/hw/nvram/fw_cfg_keys.h |   7 ++-
>  hw/arm/virt-acpi-build.c       |   2 +-
>  hw/core/loader.c               |  18 +++---
>  hw/i386/acpi-build.c           |   4 +-
>  hw/i386/pc.c                   |   3 +-
>  hw/i386/pc_piix.c              |  16 +++++-
>  hw/i386/pc_q35.c               |  37 ++++++++++++-
>  hw/isa/lpc_ich9.c              |  92 +++++++++++++++++++++++++++++-
>  hw/nvram/fw_cfg.c              | 123 +++++++++++++++++++++++++++++++++++------
>  16 files changed, 326 insertions(+), 56 deletions(-)
> 
> -- 
> 2.9.2

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: qemu devel list <qemu-devel@nongnu.org>,
	"Gabriel L. Somlo" <somlo@cmu.edu>,
	Eduardo Habkost <ehabkost@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	Michael Walle <michael@walle.cc>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Shannon Zhao <zhaoshenglong@huawei.com>,
	qemu-arm@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v4 0/7] q35: add negotiable broadcast SMI
Date: Tue, 10 Jan 2017 17:06:00 +0200	[thread overview]
Message-ID: <20170110170453-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20161201170624.26496-1-lersek@redhat.com>

On Thu, Dec 01, 2016 at 06:06:17PM +0100, Laszlo Ersek wrote:
> * This is version 4 of the series; the last version was at
>   <http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg03582.html>.
> 
>   This version is practically a rewrite from scratch, seeking to address
>   the v3 feedback. Here's what the individual patches do:
> 
>   - Patch #1 rebases and extends Michael's "writeable fw_cfg blobs"
>     patch from Feb/March 2016. The changes relative to the original
>     patch are documented in the commit message (the code changes are
>     minimal).
> 
>   - Patches #2 and #3 turn the FW_CFG_FILE_SLOTS constant into a device
>     property, and expose the desired number of fw_cfg file slots to
>     board code. This is meant to address a concern raised by Paolo in
>     the v2 review
>     <http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg03125.html>,
>     namely that we're about to run out of FW_CFG_FILE_SLOTS.
> 
>   - Patch #4 introduces the "pc-q35-2.9" and "pc-i440fx-2.9" machine
>     types, which are allowed to take advantage of the new default for
>     fw_cfg file slots (0x20 rather than 0x10).
> 
>   - Patch #5 introduces SMI feature negotiation via fw_cfg, with the
>     following new files:
> 
>     - etc/smi/host-features
>     - etc/smi/guest-features
>     - etc/smi/features-ok
> 
>     This is supposed to follow Michael's recommendation re: imitating
>     virtio
>     <http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg03218.html>.
> 
>     The guest-features file is freely writeable by the guest (no write
>     callbacks in fw_cfg), and the feature validation & lockdown occurs
>     when the guest selects the features-ok file (for reading).
> 
>     Board code is allowed to choose the host feature bitmap to
>     advertise.
> 
>     This patch doesn't add any specific SMI features yet.
> 
>   - Patch #6 adds the ICH9_LPC_SMI_F_BROADCAST feature.
> 
>   - Patch #7 introduces the PCMachineClass.get_smi_host_features method,
>     and implements it for "pc-q35-2.9" and later. The idea is to tie the
>     SMI host features to machine types, and let the machine types
>     calculate their host features with code (i.e., not just a constant).
> 
>     In this patch, the "pc-q35-2.9" machine type exposes the
>     ICH9_LPC_SMI_F_BROADCAST feature iff (smp_cpus == max_cpus), that
>     is, when VCPU hotplug is not possible. (Also from Paolo's v3
>     feedback, in
>     <http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg04919.html>.)
> 
> * I've written the OVMF side patches too and tested them together
>   (including gdb / debug messages for "white box" testing).
> 
> * Note that this version depends on the following PULL req from Michael:
> 
>   [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes
>   http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg05503.html
> 
>   In particular on the following patch:
>   "loader: fix handling of custom address spaces when adding ROM blobs"
> 
> Cc: "Gabriel L. Somlo" <somlo@cmu.edu>
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Cc: Michael Walle <michael@walle.cc>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Cc: Shannon Zhao <zhaoshenglong@huawei.com>
> Cc: qemu-arm@nongnu.org
> 
> Thanks
> Laszlo

So I reviewed fw cfg stuff, looks good to me. I'd prefer Paolo to review
and merge broadcast SMI stuff as appropriate.  Paolo, makes sense?


> Laszlo Ersek (6):
>   fw-cfg: turn FW_CFG_FILE_SLOTS into a device property
>   fw-cfg: expose "file_slots" parameter in fw_cfg_init_io_dma()
>   hw/i386/pc: introduce 2.9 machine types with 0x20 fw_cfg file slots
>   hw/isa/lpc_ich9: add SMI feature negotiation via fw_cfg
>   hw/isa/lpc_ich9: add broadcast SMI feature
>   hw/i386/pc_q35: advertise broadcast SMI if VCPU hotplug is turned off
> 
> Michael S. Tsirkin (1):
>   fw-cfg: support writeable blobs
> 
>  docs/specs/fw_cfg.txt          |  36 +++++++++---
>  hw/lm32/lm32_hwsetup.h         |   2 +-
>  include/hw/compat.h            |  11 ++++
>  include/hw/i386/ich9.h         |  15 ++++-
>  include/hw/i386/pc.h           |   4 ++
>  include/hw/loader.h            |   7 ++-
>  include/hw/nvram/fw_cfg.h      |   5 +-
>  include/hw/nvram/fw_cfg_keys.h |   7 ++-
>  hw/arm/virt-acpi-build.c       |   2 +-
>  hw/core/loader.c               |  18 +++---
>  hw/i386/acpi-build.c           |   4 +-
>  hw/i386/pc.c                   |   3 +-
>  hw/i386/pc_piix.c              |  16 +++++-
>  hw/i386/pc_q35.c               |  37 ++++++++++++-
>  hw/isa/lpc_ich9.c              |  92 +++++++++++++++++++++++++++++-
>  hw/nvram/fw_cfg.c              | 123 +++++++++++++++++++++++++++++++++++------
>  16 files changed, 326 insertions(+), 56 deletions(-)
> 
> -- 
> 2.9.2

  parent reply	other threads:[~2017-01-10 15:06 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-01 17:06 [Qemu-arm] [PATCH v4 0/7] q35: add negotiable broadcast SMI Laszlo Ersek
2016-12-01 17:06 ` [Qemu-devel] " Laszlo Ersek
2016-12-01 17:06 ` [Qemu-arm] [PATCH v4 1/7] fw-cfg: support writeable blobs Laszlo Ersek
2016-12-01 17:06   ` [Qemu-devel] " Laszlo Ersek
2016-12-20 15:58   ` [Qemu-arm] " Marcel Apfelbaum
2016-12-20 15:58     ` Marcel Apfelbaum
2017-01-10 13:33     ` [Qemu-arm] " Laszlo Ersek
2017-01-10 13:33       ` Laszlo Ersek
2016-12-01 17:06 ` [Qemu-devel] [PATCH v4 2/7] fw-cfg: turn FW_CFG_FILE_SLOTS into a device property Laszlo Ersek
2016-12-02 11:10   ` Gerd Hoffmann
2016-12-02 11:48     ` Laszlo Ersek
2016-12-02 12:47       ` Gerd Hoffmann
2016-12-06 10:50   ` Igor Mammedov
2016-12-06 11:43     ` Laszlo Ersek
2016-12-06 12:02       ` Igor Mammedov
2016-12-06 16:22         ` Laszlo Ersek
2017-01-10 15:02   ` Michael S. Tsirkin
2016-12-01 17:06 ` [Qemu-devel] [PATCH v4 3/7] fw-cfg: expose "file_slots" parameter in fw_cfg_init_io_dma() Laszlo Ersek
2016-12-06 11:49   ` Igor Mammedov
2016-12-06 16:46     ` Laszlo Ersek
2016-12-06 16:52       ` Laszlo Ersek
2016-12-06 23:21         ` David Gibson
2016-12-06 18:09       ` Igor Mammedov
2016-12-06 18:09         ` Igor Mammedov
2016-12-06 19:29         ` [Qemu-devel] " Stefano Stabellini
2016-12-06 19:29           ` Stefano Stabellini
2017-01-10 15:02   ` [Qemu-devel] " Michael S. Tsirkin
2016-12-01 17:06 ` [Qemu-devel] [PATCH v4 4/7] hw/i386/pc: introduce 2.9 machine types with 0x20 fw_cfg file slots Laszlo Ersek
2016-12-01 17:06 ` [Qemu-devel] [PATCH v4 5/7] hw/isa/lpc_ich9: add SMI feature negotiation via fw_cfg Laszlo Ersek
2016-12-02 11:54   ` Igor Mammedov
2016-12-02 12:00     ` Laszlo Ersek
2016-12-01 17:06 ` [Qemu-devel] [PATCH v4 6/7] hw/isa/lpc_ich9: add broadcast SMI feature Laszlo Ersek
2016-12-01 17:06 ` [Qemu-devel] [PATCH v4 7/7] hw/i386/pc_q35: advertise broadcast SMI if VCPU hotplug is turned off Laszlo Ersek
2016-12-01 19:13   ` Eduardo Habkost
2016-12-01 20:42     ` Laszlo Ersek
2016-12-01 20:53       ` Eduardo Habkost
2016-12-02 12:18       ` Igor Mammedov
2016-12-02 19:32         ` Laszlo Ersek
2016-12-20 23:01 ` [Qemu-arm] [Qemu-devel] [PATCH v4 0/7] q35: add negotiable broadcast SMI no-reply
2016-12-20 23:01   ` no-reply
2016-12-21 15:22   ` [Qemu-arm] checkpatch.pl false positive (was Re: [Qemu-devel] [PATCH v4 0/7] q35: add negotiable broadcast SMI) Eduardo Habkost
2016-12-21 15:22     ` [Qemu-devel] checkpatch.pl false positive (was " Eduardo Habkost
2016-12-21 15:22     ` Eduardo Habkost
2016-12-21 17:47     ` [Qemu-arm] " Paolo Bonzini
2016-12-21 17:47       ` [Qemu-devel] " Paolo Bonzini
2016-12-21 18:01       ` [Qemu-arm] " Eduardo Habkost
2016-12-21 18:01         ` [Qemu-devel] " Eduardo Habkost
2016-12-21 18:08         ` [Qemu-arm] " Paolo Bonzini
2016-12-21 18:08           ` [Qemu-devel] " Paolo Bonzini
2016-12-21 18:19           ` Eduardo Habkost
2016-12-21 18:19             ` Eduardo Habkost
2017-01-10 15:06 ` Michael S. Tsirkin [this message]
2017-01-10 15:06   ` [Qemu-devel] [PATCH v4 0/7] q35: add negotiable broadcast SMI Michael S. Tsirkin
2017-01-10 15:23   ` [Qemu-arm] " Laszlo Ersek
2017-01-10 15:23     ` [Qemu-devel] " Laszlo Ersek
2017-01-10 16:05     ` [Qemu-arm] " Michael S. Tsirkin
2017-01-10 16:05       ` [Qemu-devel] " Michael S. Tsirkin
2017-01-10 16:19       ` Laszlo Ersek
2017-01-10 16:19         ` Laszlo Ersek
2017-01-10 16:21     ` [Qemu-arm] " Igor Mammedov
2017-01-10 16:21       ` Igor Mammedov
2017-01-10 16:30       ` [Qemu-arm] " Laszlo Ersek
2017-01-10 16:30         ` Laszlo Ersek

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=20170110170453-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=michael@walle.cc \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=somlo@cmu.edu \
    --cc=zhaoshenglong@huawei.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.