提交 ca9b7e29 编写于 作者: P Paolo Bonzini

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: NPaolo Bonzini <pbonzini@redhat.com>
上级 4f5604c4
......@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册