[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 02/23] kconfig: add CONFIG_MSI_NONBROKEN
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 02/23] kconfig: add CONFIG_MSI_NONBROKEN |
Date: |
Wed, 27 Mar 2019 13:37:40 +0100 |
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 <address@hidden>
---
hw/intc/Kconfig | 3 +++
hw/pci-host/Kconfig | 1 +
hw/pci/Kconfig | 6 ++++++
hw/ppc/Kconfig | 1 +
hw/riscv/Kconfig | 1 +
hw/s390x/Kconfig | 1 +
6 files changed, 13 insertions(+)
diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
index de10a6b..5347f84 100644
--- a/hw/intc/Kconfig
+++ b/hw/intc/Kconfig
@@ -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
diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
index b39ea29..8c16d96 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_NONBROKEN
diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
index 3b8638b..77f8b00 100644
--- a/hw/pci/Kconfig
+++ b/hw/pci/Kconfig
@@ -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
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 2b83637..73b473c 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_NONBROKEN
config SPAPR_RNG
bool
diff --git a/hw/riscv/Kconfig b/hw/riscv/Kconfig
index 8c7fc1f..8674211 100644
--- a/hw/riscv/Kconfig
+++ b/hw/riscv/Kconfig
@@ -6,6 +6,7 @@ config HART
config SIFIVE
bool
+ select MSI_NONBROKEN
config SIFIVE_E
bool
diff --git a/hw/s390x/Kconfig b/hw/s390x/Kconfig
index a7046ea..5e7d8a2 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_NONBROKEN
--
1.8.3.1
- [Qemu-devel] [PULL 00/23] Misc patches for QEMU 4.0-rc, mostly Kconfig refinements, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 03/23] kconfig: add dependencies on CONFIG_MSI_NONBROKEN, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 01/23] riscv: plic: Set msi_nonbroken as true, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 05/23] target/i386: sev: Do not pin the ram device memory region, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 04/23] memory: Fix the memory region type assignment order, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 06/23] hw/char/parallel: Make it possible to compile also without CONFIG_PARALLEL, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 02/23] kconfig: add CONFIG_MSI_NONBROKEN,
Paolo Bonzini <=
- [Qemu-devel] [PULL 08/23] prep: do not select I82374, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 07/23] hw/i386/Kconfig: PC uses I8257, not I82374, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 10/23] hw/isa/Kconfig: PIIX4 southbridge requires USB UHCI, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 11/23] hw/i386/Kconfig: enable devices that can be created by default, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 13/23] hw/mips/Kconfig: Fulong 2e board requires ati-vga/rtl8139 PCI devices, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 12/23] hw/mips/Kconfig: Malta machine requires the pcnet network card, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 09/23] hw/isa/Kconfig: i82378 SuperIO requires PC speaker device, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 14/23] hw/ppc/Kconfig: Bamboo machine requires e1000 network card, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 15/23] hw/ppc/Kconfig: e500 based machines require virtio-net-pci device, Paolo Bonzini, 2019/03/27
- [Qemu-devel] [PULL 16/23] hw/sh4/Kconfig: r2d machine requires the rtl8139 network card, Paolo Bonzini, 2019/03/27