qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/4] acpi hotplug of devices behind a pci bridge
@ 2013-10-07  9:21 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
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Michael S. Tsirkin @ 2013-10-07  9:21 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Gerd Hoffmann, Anthony Liguori, Igor Mammedov,
	Laszlo Ersek, afaerber

This is on top of patchset generating ACPI tables in qemu.
Please review and consider for 1.7.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-10-13 20:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [Qemu-devel] [PATCH v3 0/4] acpi hotplug of devices behind a pci bridge Michael S. Tsirkin

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