From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Gerd Hoffmann <kraxel@redhat.com>,
Anthony Liguori <anthony@codemonkey.ws>,
Igor Mammedov <imammedo@redhat.com>,
Laszlo Ersek <lersek@redhat.com>,
afaerber@suse.de
Subject: Re: [Qemu-devel] [PATCH v3 0/4] acpi hotplug of devices behind a pci bridge
Date: Sun, 13 Oct 2013 23:51:42 +0300 [thread overview]
Message-ID: <20131013205142.GA18331@redhat.com> (raw)
In-Reply-To: <1381137467-6678-1-git-send-email-mst@redhat.com>
On Mon, Oct 07, 2013 at 12:21:26PM +0300, Michael S. Tsirkin wrote:
> This is on top of patchset generating ACPI tables in qemu.
> Please review and consider for 1.7.
No comments, I assume it's ok to merge this.
> Changes from v2:
> - split new code out to a separate file: acpi/pcihp.c
> this way we can reuse it for q35 later
> - rebased on top of the latest acpi-build patchset
>
> Changes from v1:
> - fixed some bugs
> - fixed migration and cross version compatibility
> - rebased to latest bits
>
> This adds support for device hotplug behind pci bridges, by generating ACPI
> tables describing the current hierarchy.
> Bridge devices themselves need to be pre-configured on qemu command line.
>
> How to use:
> Describe buses on command line. E.g.:
> -device pci-bridge,id=bar,chassis_nr=1 -device
> virtio-net,netdev=bur,addr=0x1,id=far,bus=bar
> use monitor command for hotplug:
> device_del far
>
> We don't currently use QOM properties to generate this info since:
> - info about hotpluggability of devices is lacking
> - we need to list all devices and buses in a predictable order
> For now, add a pci core function to do the above predictable order
> walk.
>
> This is on top of acpi patchset posted previously.
> with a small patch adding a core function to walk all
> pci buses, on top.
> Can also be found in my git tree
> git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git acpi-bridges
>
> Portability:
> - Non x86 (or any Linux) platforms don't need any of this code.
> They can keep happily using SHPC the way
> they always did.
>
> Things to note:
>
> - Extensive use of glib completely removes
> pointer math: we use
> g_array_append_vals exclusively.
>
> - As was the case previously,
> systems that lack working iasl are detected at configure time,
> pre-generated hex files in source tree are used in this case.
> This addresses the concern with iasl/big-endian
> systems.
>
> - Cross version migration: when running with -M 1.6
> and older, new hotplug functionality is unavailable.
> All ACPI table generation is disabled.
> We present FW_CFG interface compatible with 1.6.
>
> Michael S. Tsirkin (4):
> pci: add pci_for_each_bus_depth_first
> pcihp: generalization of piix4 acpi
> piix4: add acpi pci hotplug support
> acpi-build: enable hotplug for PCI bridges
>
> include/hw/acpi/pcihp.h | 72 ++++++++++
> include/hw/i386/pc.h | 5 +
> include/hw/pci/pci.h | 14 ++
> hw/acpi/pcihp.c | 312 +++++++++++++++++++++++++++++++++++++++++++
> hw/acpi/piix4.c | 75 +++++++++--
> hw/i386/acpi-build.c | 346 ++++++++++++++++++++++++++++++++++++++----------
> hw/pci/pci.c | 28 ++++
> hw/acpi/Makefile.objs | 2 +-
> hw/i386/acpi-dsdt.dsl | 34 +++--
> hw/i386/ssdt-pcihp.dsl | 11 +-
> 10 files changed, 794 insertions(+), 105 deletions(-)
> create mode 100644 include/hw/acpi/pcihp.h
> create mode 100644 hw/acpi/pcihp.c
>
> --
> MST
>
prev parent reply other threads:[~2013-10-13 20:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-07 9:21 [Qemu-devel] [PATCH v3 0/4] acpi hotplug of devices behind a pci bridge Michael S. Tsirkin
2013-10-07 9:21 ` [Qemu-devel] [PATCH v3 1/4] pci: add pci_for_each_bus_depth_first Michael S. Tsirkin
2013-10-07 9:21 ` [Qemu-devel] [PATCH v3 2/4] pcihp: generalization of piix4 acpi Michael S. Tsirkin
2013-10-07 9:21 ` [Qemu-devel] [PATCH v3 3/4] piix4: add acpi pci hotplug support Michael S. Tsirkin
2013-10-07 9:21 ` [Qemu-devel] [PATCH v3 4/4] acpi-build: enable hotplug for PCI bridges Michael S. Tsirkin
2013-10-13 20:51 ` Michael S. Tsirkin [this message]
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=20131013205142.GA18331@redhat.com \
--to=mst@redhat.com \
--cc=afaerber@suse.de \
--cc=anthony@codemonkey.ws \
--cc=imammedo@redhat.com \
--cc=kraxel@redhat.com \
--cc=lersek@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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.