qemu-e2k/hw
Greg Kurz 9e4dc0a1c2 spapr: Do PCI device hotplug sanity checks at pre-plug only
The PHB acts as the hotplug handler for PCI devices. It does some
sanity checks on DR enablement, PCI bridge chassis numbers and
multifunction. These checks are currently performed at plug time,
but they would best sit in a pre-plug handler in order to error
out as early as possible.

Create a spapr_pci_pre_plug() handler and move all the checking
there. Add a check that the associated DRC doesn't already have
an attached device. This is equivalent to the slot availability
check performed by do_pci_register_device() upon realization of
the PCI device.

This allows to pass &error_abort to spapr_drc_attach() and to end
up with a plug handler that doesn't need to report errors anymore.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <20201120234208.683521-2-groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-12-14 15:50:55 +11:00
..
9pfs hw/9pfs: Fix Kconfig dependency problem between 9pfs and Xen 2020-11-05 15:21:11 +01:00
acpi x86: acpi: let the firmware handle pending "CPU remove" events in SMM 2020-12-09 13:04:17 -05:00
adc
alpha vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
arm vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
audio nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
avr vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
block hw/ssi: Rename SSI 'slave' as 'peripheral' 2020-12-10 12:15:03 -05:00
char hw/char/serial: Clean up unnecessary code 2020-12-10 12:15:10 -05:00
core * Fix for NULL segments (Bin Meng) 2020-12-11 13:50:35 +00:00
cpu
cris cris: do not use ram_size global 2020-12-10 12:15:07 -05:00
display * Fix for NULL segments (Bin Meng) 2020-12-11 13:50:35 +00:00
dma hw/dma/xilinx_axidma: Rename StreamSlave as StreamSink 2020-12-10 12:15:04 -05:00
gpio nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
hppa vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
hyperv
i2c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
i386 vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
ide ide: atapi: assert that the buffer pointer is in range 2020-12-01 15:23:05 +00:00
input hw/input/ps2.c: Remove remnants of printf debug 2020-11-17 12:56:32 +00:00
intc spapr/xics: Drop unused argument to xics_kvm_has_broken_disconnect() 2020-12-14 15:50:55 +11:00
ipack
ipmi
isa x86: ich9: let firmware negotiate 'CPU hot-unplug with SMI' feature 2020-12-09 13:04:17 -05:00
lm32 vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
m68k hw/m68k/q800.c: Make the GLUE chip an actual QOM device 2020-12-12 18:06:01 +01:00
mem nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
microblaze vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
mips vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
misc hw/ssi: Rename SSI 'slave' as 'peripheral' 2020-12-10 12:15:03 -05:00
moxie moxie: do not use ram_size global 2020-12-10 12:15:08 -05:00
net hw/net/xilinx_axienet: Rename StreamSlave as StreamSink 2020-12-10 12:15:04 -05:00
nios2 vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
nubus
nvram vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
openrisc
pci vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
pci-bridge nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
pci-host vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
pcmcia
ppc spapr: Do PCI device hotplug sanity checks at pre-plug only 2020-12-14 15:50:55 +11:00
rdma
riscv vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
rtc m48t59: remove legacy m48t59_init() function 2020-10-18 16:21:42 +01:00
rx rx: move BIOS load from MCU to board 2020-12-10 12:15:06 -05:00
s390x * Fix for NULL segments (Bin Meng) 2020-12-11 13:50:35 +00:00
scsi scsi-disk: convert more errno values back to SCSI statuses 2020-11-16 13:22:17 -05:00
sd hw/ssi: Rename SSI 'slave' as 'peripheral' 2020-12-10 12:15:03 -05:00
semihosting
sh4 sh4: remove bios_name 2020-12-10 12:15:06 -05:00
smbios i386: do not use ram_size global 2020-12-10 12:15:08 -05:00
sparc vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
sparc64 vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
ssi hw/core/stream: Rename StreamSlave as StreamSink 2020-12-10 12:15:04 -05:00
timer exynos: Fix bad printf format specifiers 2020-11-17 12:56:32 +00:00
tpm tpm: Fix Lesser GPL version number 2020-11-15 16:44:18 +01:00
tricore tricore tcg cpus: Fix Lesser GPL version number 2020-11-15 16:40:30 +01:00
unicore32
usb usb: fix kconfig for usb-xhci-sysbus 2020-11-20 10:43:41 -05:00
vfio vfio: Change default dirty pages tracking behavior during migration 2020-11-23 10:05:58 -07:00
virtio make ram_size local to vl.c 2020-12-10 12:15:10 -05:00
watchdog hw/watchdog/wdt_diag288: Remove unnecessary includes 2020-12-11 11:38:10 +01:00
xen nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
xenpv
xtensa
Kconfig hw/net/can: Introduce Xilinx ZynqMP CAN controller 2020-12-10 11:30:44 +00:00
meson.build