kconfig: add CONFIG_MSI_NONBROKEN
Not all interrupt controllers have a working implementation of message-signalled interrupts; in some cases, the guest may expect MSI to work but it won't due to the buggy or lacking emulation. 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 <pbonzini@redhat.com>
This commit is contained in:
parent
4f5604c41d
commit
ca9b7e29de
@ -12,12 +12,15 @@ config IOAPIC
|
||||
|
||||
config ARM_GIC
|
||||
bool
|
||||
select MSI_NONBROKEN
|
||||
|
||||
config OPENPIC
|
||||
bool
|
||||
select MSI_NONBROKEN
|
||||
|
||||
config APIC
|
||||
bool
|
||||
select MSI_NONBROKEN
|
||||
|
||||
config ARM_GIC_KVM
|
||||
bool
|
||||
|
@ -49,3 +49,4 @@ config PCI_EXPRESS_XILINX
|
||||
config PCI_EXPRESS_DESIGNWARE
|
||||
bool
|
||||
select PCI_EXPRESS
|
||||
select MSI_NONBROKEN
|
||||
|
@ -7,3 +7,9 @@ config PCI_EXPRESS
|
||||
|
||||
config PCI_DEVICES
|
||||
bool
|
||||
|
||||
config MSI_NONBROKEN
|
||||
# selected by interrupt controllers that do not support MSI,
|
||||
# or support it and have a good implementation. See commit
|
||||
# 47d2b0f33c664533b8dbd5cb17faa8e6a01afe1f.
|
||||
bool
|
||||
|
@ -8,6 +8,7 @@ config PSERIES
|
||||
select VFIO if LINUX # needed by spapr_pci_vfio.c
|
||||
select XICS_SPAPR
|
||||
select XIVE_SPAPR
|
||||
select MSI_NONBROKEN
|
||||
|
||||
config SPAPR_RNG
|
||||
bool
|
||||
|
@ -6,6 +6,7 @@ config HART
|
||||
|
||||
config SIFIVE
|
||||
bool
|
||||
select MSI_NONBROKEN
|
||||
|
||||
config SIFIVE_E
|
||||
bool
|
||||
|
@ -9,3 +9,4 @@ config S390_CCW_VIRTIO
|
||||
select S390_FLIC
|
||||
select SCLPCONSOLE
|
||||
select VIRTIO_CCW
|
||||
select MSI_NONBROKEN
|
||||
|
Loading…
Reference in New Issue
Block a user