On 3/14/19 3:30 PM, Paolo Bonzini wrote: > Not all interrupt controllers support message-signalled interrupts, > and some devices *only* support message-signalled interrupts. > > In QEMU this is represented by the "msi_nonbroken" variable. This > patch adds a new configuration symbol enabled whenever the binary > contains an interrupt controller that will set "msi_nonbroken". We > can then use it to remove devices that cannot be possibly added > to the machine, because they require MSI. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > hw/intc/Kconfig | 3 +++ > hw/pci-host/Kconfig | 1 + > hw/pci/Kconfig | 4 ++++ > hw/ppc/Kconfig | 1 + > hw/s390x/Kconfig | 1 + > 5 files changed, 10 insertions(+) > > diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig > index de10a6bcbf..e78b5db3be 100644 > --- a/hw/intc/Kconfig > +++ b/hw/intc/Kconfig > @@ -12,12 +12,15 @@ config IOAPIC > > config ARM_GIC > bool > + select MSI > > config OPENPIC > bool > + select MSI > > config APIC > bool > + select MSI > > config ARM_GIC_KVM > bool > diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig > index b39ea297ba..58c99f55fa 100644 > --- a/hw/pci-host/Kconfig > +++ b/hw/pci-host/Kconfig > @@ -49,3 +49,4 @@ config PCI_EXPRESS_XILINX > config PCI_EXPRESS_DESIGNWARE > bool > select PCI_EXPRESS > + select MSI > diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig > index 3b8638b51d..574b5d4a4a 100644 > --- a/hw/pci/Kconfig > +++ b/hw/pci/Kconfig > @@ -7,3 +7,7 @@ config PCI_EXPRESS > > config PCI_DEVICES > bool > + > +config MSI
Can we use PCI_MSI? > + # selected by interrupt controllers that support MSI > + bool > diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig > index 2b83637511..c14f7ea4fe 100644 > --- a/hw/ppc/Kconfig > +++ b/hw/ppc/Kconfig > @@ -8,6 +8,7 @@ config PSERIES > select VFIO if LINUX # needed by spapr_pci_vfio.c > select XICS_SPAPR > select XIVE_SPAPR > + select MSI > > config SPAPR_RNG > bool > diff --git a/hw/s390x/Kconfig b/hw/s390x/Kconfig > index a7046ea41f..ac0f335584 100644 > --- a/hw/s390x/Kconfig > +++ b/hw/s390x/Kconfig > @@ -9,3 +9,4 @@ config S390_CCW_VIRTIO > select S390_FLIC > select SCLPCONSOLE > select VIRTIO_CCW > + select MSI >