qemu/hw
David Gibson 14e714900f spapr: Allow hot plug/unplug of PCI bridges and devices under PCI bridges
The pseries machine type already allows PCI hotplug and unplug via the
PAPR mechanism, but only on the root bus of each PHB.  This patch extends
this to allow PCI to PCI bridges to be hotplugged, and devices to be
hotplugged or unplugged under P2P bridges.

For now we disallow hot unplugging P2P bridges.  I tried doing that, but
haven't managed to get it working, I think due to some guest side problems
that need further investigation.

To do this we dynamically construct DRCs when bridges are hot (or cold)
added, which can in turn be used to hotplug devices under the bridge.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
2019-06-12 10:41:49 +10:00
..
9pfs trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
acpi acpi: pci: use build_append_foo() API to construct MCFG 2019-05-29 18:00:57 -04:00
adc kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
alpha * Kconfig improvements (msi_nonbroken, imply for default PCI devices) 2019-03-28 09:18:53 +00:00
arm virtio, pci, pc: cleanups, features 2019-06-06 12:52:31 +01:00
audio hw/audio/ac97: Use the QOM DEVICE() macro to access DeviceState.qdev 2019-06-06 11:36:43 +02:00
block block: Add BlockBackend.ctx 2019-06-04 15:22:22 +02:00
bt kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
char Mostly bugfixes and cleanups, the most important being 2019-05-17 16:17:34 +01:00
core block: Add qdev_prop_drive_iothread property type 2019-06-04 15:22:22 +02:00
cpu kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
cris cris-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
display hw/display: add vhost-user-vga & gpu-pci 2019-05-29 06:30:45 +02:00
dma hw/dma: Compile the bcm2835_dma device as common object 2019-04-29 17:36:03 +01:00
gpio Pull request 2019-03-25 17:01:10 +00:00
hppa * Kconfig improvements (msi_nonbroken, imply for default PCI devices) 2019-03-28 09:18:53 +00:00
hyperv hyperv: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
i2c hw/arm: Express dependencies of realview, versatile and vexpress with Kconfig 2019-05-13 09:36:31 +02:00
i386 target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
ide block: Add BlockBackend.ctx 2019-06-04 15:22:22 +02:00
input hw/input: Add a CONFIG_PS2 switch for the ps2.c file 2019-05-15 11:56:53 +02:00
intc target/mips: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
ipack build: convert pci.mak to Kconfig 2019-03-07 21:45:53 +01:00
ipmi ipmi: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
isa hw/isa: Use the QOM DEVICE() macro to access DeviceState.qdev 2019-06-06 11:33:18 +02:00
lm32 pflash: Clean up after commit 368a354f02, part 2 2019-03-11 22:53:44 +01:00
m68k m68k-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
mem trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
microblaze hw/microblaze/zynqmp: Use object_initialize_child for correct ref. counting 2019-05-24 15:29:02 -03:00
mips target/mips: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
misc edu: uses uint64_t in dma operation 2019-06-03 14:03:01 +02:00
moxie moxie-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
net Mostly bugfixes and cleanups, the most important being 2019-05-17 16:17:34 +01:00
nios2 target/nios2: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
nvram hw/nvram/fw_cfg: Store 'reboot-timeout' as little endian 2019-05-23 14:10:31 +02:00
openrisc target/openrisc: Fix LGPL information in the file headers 2019-05-08 17:45:54 +02:00
pci Trivial fixes 06/06/2019 2019-06-06 14:09:14 +01:00
pci-bridge pci: Make is_bridge a bool 2019-05-29 18:00:57 -04:00
pci-host hw/pci-host: Use object_initialize_child for correct reference counting 2019-05-02 16:56:33 +02:00
pcmcia kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
ppc spapr: Allow hot plug/unplug of PCI bridges and devices under PCI bridges 2019-06-12 10:41:49 +10:00
rdma hw/rdma: Delete unused headers inclusion 2019-06-06 11:17:32 +02:00
riscv riscv: spike: Add a generic spike machine 2019-05-24 12:09:24 -07:00
s390x s390x: Bump the "qemu" CPU model up to a stripped-down z13 2019-06-07 14:53:26 +02:00
scsi Trivial fixes 06/06/2019 2019-06-06 14:09:14 +01:00
sd hw/sd: Use the QOM BUS() macro to access BusState.qbus 2019-06-06 11:38:14 +02:00
semihosting cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
sh4 hw/usb/hcd-ohci: Move PCI-related code into a separate file 2019-05-02 08:42:17 +02:00
smbios kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
sparc target/sparc: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
sparc64 target/sparc: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
ssi hw/ssi/xilinx_spips: Avoid variable length array 2019-04-29 17:35:57 +01:00
timer grlib, gptimer: get rid of the old-style create function 2019-05-17 09:17:11 +01:00
tpm Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
tricore - qtest fixes 2019-03-08 16:31:34 +00:00
unicore32 target/unicore32: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
usb usb-mtp: refactor the flow of usb_mtp_write_data 2019-06-10 11:53:19 +01:00
vfio vfio/display: set dmabuf modifier field 2019-06-07 11:52:35 +02:00
virtio virtio, pci, pc: cleanups, features 2019-06-06 12:52:31 +01:00
watchdog hw/watchdog/wdt_i6300esb: Use DEVICE() macro to access DeviceState.qdev 2019-06-06 11:55:04 +02:00
xen trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
xenpv xen: Replace few mentions of xend by libxl 2019-01-14 13:45:40 +00:00
xtensa target/xtensa: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
Kconfig semihosting: introduce CONFIG_SEMIHOSTING 2019-05-28 10:28:50 +01:00
Makefile.objs semihosting: move semihosting configuration into its own directory 2019-05-28 10:28:50 +01:00