qemu-e2k/hw/pci-bridge
Aleksandr Bezzubikov d659d94013 hw/pci-bridge/pcie_pci_bridge: properly handle MSI unavailability case
QEMU with the pcie-pci-bridge device crashes if the guest board doesn't support MSI,
e.g. 'qemu-system-ppc64 -M prep -device pcie-pci-bridge'.
This is caused by wrong pcie-pci-bridge instantiation error handling. This patch fixes this issue
by falling back to legacy INTx if MSI is not available.
Also set the bridge's 'msi' property default value to 'auto' in order to trigger errors
only when user explicitly set msi=on.

Reported-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Aleksandr Bezzubikov <zuban32s@gmail.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2017-10-15 05:54:41 +03:00
..
dec.c hw/pci-bridge/dec: Classify the DEC PCI bridge as bridge device 2017-07-03 22:29:48 +03:00
dec.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
gen_pcie_root_port.c hw/pci: add QEMU-specific PCI capability to the Generic PCI Express Root Port 2017-09-08 16:15:17 +03:00
i82801b11.c pci: Convert to realize 2017-07-03 22:29:49 +03:00
ioh3420.c pci: Set err to errp directly rather than through error_propagate() 2017-10-15 05:54:40 +03:00
ioh3420.h ioh3420: remove unused ioh3420_init() declaration 2014-09-02 17:28:26 +03:00
Makefile.objs hw/pci: introduce pcie-pci-bridge device 2017-09-08 16:15:17 +03:00
pci_bridge_dev.c pci: Convert shpc_init() to Error 2017-07-03 22:29:49 +03:00
pci_expander_bridge.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
pcie_pci_bridge.c hw/pci-bridge/pcie_pci_bridge: properly handle MSI unavailability case 2017-10-15 05:54:41 +03:00
pcie_root_port.c pci: Convert to realize 2017-07-03 22:29:49 +03:00
xio3130_downstream.c xio3130_downstream: Report error if pcie_chassis_add_slot() failed 2017-10-15 05:54:39 +03:00
xio3130_downstream.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
xio3130_upstream.c pci: Convert to realize 2017-07-03 22:29:49 +03:00
xio3130_upstream.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00