diff mbox series

[2/2] kconfig: add dependencies on CONFIG_MSI

Message ID 20190314143032.16870-3-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show
Series kconfig: add fine-grained dependencies for MSI | expand

Commit Message

Paolo Bonzini March 14, 2019, 2:30 p.m. UTC
For devices that require msi_init/msix_init to succeed, add a
dependency on CONFIG_MSI.  This will prevent those devices from
appearing in a binary that cannot instantiate them.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Kconfig.host          | 3 +++
 Makefile              | 3 ++-
 hw/Kconfig            | 1 +
 hw/misc/Kconfig       | 4 ++--
 hw/net/Kconfig        | 4 ++--
 hw/pci-bridge/Kconfig | 6 +++---
 hw/rdma/Kconfig       | 3 +++
 hw/rdma/Makefile.objs | 6 ++----
 8 files changed, 18 insertions(+), 12 deletions(-)
 create mode 100644 hw/rdma/Kconfig

Comments

Philippe Mathieu-Daudé March 14, 2019, 10:21 p.m. UTC | #1
On 3/14/19 3:30 PM, Paolo Bonzini wrote:
> For devices that require msi_init/msix_init to succeed, add a
> dependency on CONFIG_MSI.  This will prevent those devices from
> appearing in a binary that cannot instantiate them.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  Kconfig.host          | 3 +++
>  Makefile              | 3 ++-
>  hw/Kconfig            | 1 +
>  hw/misc/Kconfig       | 4 ++--
>  hw/net/Kconfig        | 4 ++--
>  hw/pci-bridge/Kconfig | 6 +++---
>  hw/rdma/Kconfig       | 3 +++
>  hw/rdma/Makefile.objs | 6 ++----
>  8 files changed, 18 insertions(+), 12 deletions(-)
>  create mode 100644 hw/rdma/Kconfig
> 
> diff --git a/Kconfig.host b/Kconfig.host
> index add5b179f7..aec95365ff 100644
> --- a/Kconfig.host
> +++ b/Kconfig.host
> @@ -31,3 +31,6 @@ config XEN
>  
>  config VIRTFS
>      bool
> +
> +config PVRDMA
> +    bool
> diff --git a/Makefile b/Makefile
> index 6ccb8639b0..bdffa4e7cc 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -356,7 +356,8 @@ MINIKCONF_ARGS = \
>      CONFIG_X11=$(CONFIG_X11) \
>      CONFIG_VHOST_USER=$(CONFIG_VHOST_USER) \
>      CONFIG_VIRTFS=$(CONFIG_VIRTFS) \
> -    CONFIG_LINUX=$(CONFIG_LINUX)
> +    CONFIG_LINUX=$(CONFIG_LINUX) \
> +    CONFIG_PVRDMA=$(CONFIG_PVRDMA)
>  
>  MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig
>  MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \
> diff --git a/hw/Kconfig b/hw/Kconfig
> index d5ecd02070..88b9f15007 100644
> --- a/hw/Kconfig
> +++ b/hw/Kconfig
> @@ -26,6 +26,7 @@ source pci-bridge/Kconfig
>  source pci-host/Kconfig
>  source pcmcia/Kconfig
>  source pci/Kconfig
> +source rdma/Kconfig
>  source scsi/Kconfig
>  source sd/Kconfig
>  source smbios/Kconfig
> diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
> index 2c60be99bc..eaf057eb0d 100644
> --- a/hw/misc/Kconfig
> +++ b/hw/misc/Kconfig
> @@ -34,7 +34,7 @@ config PCI_TESTDEV
>  config EDU
>      bool
>      default y if TEST_DEVICES
> -    depends on PCI
> +    depends on PCI && MSI

Renaming current MSI -> PCI_MSI this could be simplified as

       depends on PCI_MSI

>  
>  config PCA9552
>      bool
> @@ -67,7 +67,7 @@ config MACIO
>  config IVSHMEM_DEVICE
>      bool
>      default y if PCI_DEVICES
> -    depends on PCI && LINUX && IVSHMEM
> +    depends on PCI && LINUX && IVSHMEM && MSI
>  
>  config ECCMEMCTL
>      bool
> diff --git a/hw/net/Kconfig b/hw/net/Kconfig
> index c00ec03cd1..5b6a506627 100644
> --- a/hw/net/Kconfig
> +++ b/hw/net/Kconfig
> @@ -28,7 +28,7 @@ config E1000_PCI
>  config E1000E_PCI_EXPRESS
>      bool
>      default y if PCI_DEVICES
> -    depends on PCI_EXPRESS
> +    depends on PCI_EXPRESS && MSI
>  
>  config RTL8139_PCI
>      bool
> @@ -107,7 +107,7 @@ config ETSEC
>  config ROCKER
>      bool
>      default y if PCI_DEVICES
> -    depends on PCI
> +    depends on PCI && MSI
>  
>  config CAN_BUS
>      bool
> diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
> index b167b98497..266072b2ee 100644
> --- a/hw/pci-bridge/Kconfig
> +++ b/hw/pci-bridge/Kconfig
> @@ -1,7 +1,7 @@
>  config PCIE_PORT
>      bool
>      default y if PCI_DEVICES
> -    depends on PCI_EXPRESS
> +    depends on PCI_EXPRESS && MSI
>  
>  config PXB
>      bool
> @@ -10,12 +10,12 @@ config PXB
>  config XIO3130
>      bool
>      default y if PCI_DEVICES
> -    depends on PCI_EXPRESS
> +    depends on PCI_EXPRESS && MSI
>  
>  config IOH3420
>      bool
>      default y if PCI_DEVICES
> -    depends on PCI_EXPRESS
> +    depends on PCI_EXPRESS && MSI
>  
>  config I82801B11
>      bool
> diff --git a/hw/rdma/Kconfig b/hw/rdma/Kconfig
> new file mode 100644
> index 0000000000..69ef0b49be
> --- /dev/null
> +++ b/hw/rdma/Kconfig
> @@ -0,0 +1,3 @@
> +config VMW_PVRDMA
> +    default y if PCI_DEVICES
> +    depends on PVRDMA && PCI && MSI
> diff --git a/hw/rdma/Makefile.objs b/hw/rdma/Makefile.objs
> index bd36cbf51c..533ab2f84a 100644
> --- a/hw/rdma/Makefile.objs
> +++ b/hw/rdma/Makefile.objs
> @@ -1,5 +1,3 @@
> -ifeq ($(CONFIG_PVRDMA),y)
> -obj-$(CONFIG_PCI) += rdma_utils.o rdma_backend.o rdma_rm.o
> -obj-$(CONFIG_PCI) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
> +obj-$(CONFIG_VMW_PVRDMA) += rdma_utils.o rdma_backend.o rdma_rm.o
> +obj-$(CONFIG_VMW_PVRDMA) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
>                       vmw/pvrdma_qp_ops.o vmw/pvrdma_main.o
> -endif
>
diff mbox series

Patch

diff --git a/Kconfig.host b/Kconfig.host
index add5b179f7..aec95365ff 100644
--- a/Kconfig.host
+++ b/Kconfig.host
@@ -31,3 +31,6 @@  config XEN
 
 config VIRTFS
     bool
+
+config PVRDMA
+    bool
diff --git a/Makefile b/Makefile
index 6ccb8639b0..bdffa4e7cc 100644
--- a/Makefile
+++ b/Makefile
@@ -356,7 +356,8 @@  MINIKCONF_ARGS = \
     CONFIG_X11=$(CONFIG_X11) \
     CONFIG_VHOST_USER=$(CONFIG_VHOST_USER) \
     CONFIG_VIRTFS=$(CONFIG_VIRTFS) \
-    CONFIG_LINUX=$(CONFIG_LINUX)
+    CONFIG_LINUX=$(CONFIG_LINUX) \
+    CONFIG_PVRDMA=$(CONFIG_PVRDMA)
 
 MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig
 MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \
diff --git a/hw/Kconfig b/hw/Kconfig
index d5ecd02070..88b9f15007 100644
--- a/hw/Kconfig
+++ b/hw/Kconfig
@@ -26,6 +26,7 @@  source pci-bridge/Kconfig
 source pci-host/Kconfig
 source pcmcia/Kconfig
 source pci/Kconfig
+source rdma/Kconfig
 source scsi/Kconfig
 source sd/Kconfig
 source smbios/Kconfig
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index 2c60be99bc..eaf057eb0d 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -34,7 +34,7 @@  config PCI_TESTDEV
 config EDU
     bool
     default y if TEST_DEVICES
-    depends on PCI
+    depends on PCI && MSI
 
 config PCA9552
     bool
@@ -67,7 +67,7 @@  config MACIO
 config IVSHMEM_DEVICE
     bool
     default y if PCI_DEVICES
-    depends on PCI && LINUX && IVSHMEM
+    depends on PCI && LINUX && IVSHMEM && MSI
 
 config ECCMEMCTL
     bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index c00ec03cd1..5b6a506627 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -28,7 +28,7 @@  config E1000_PCI
 config E1000E_PCI_EXPRESS
     bool
     default y if PCI_DEVICES
-    depends on PCI_EXPRESS
+    depends on PCI_EXPRESS && MSI
 
 config RTL8139_PCI
     bool
@@ -107,7 +107,7 @@  config ETSEC
 config ROCKER
     bool
     default y if PCI_DEVICES
-    depends on PCI
+    depends on PCI && MSI
 
 config CAN_BUS
     bool
diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
index b167b98497..266072b2ee 100644
--- a/hw/pci-bridge/Kconfig
+++ b/hw/pci-bridge/Kconfig
@@ -1,7 +1,7 @@ 
 config PCIE_PORT
     bool
     default y if PCI_DEVICES
-    depends on PCI_EXPRESS
+    depends on PCI_EXPRESS && MSI
 
 config PXB
     bool
@@ -10,12 +10,12 @@  config PXB
 config XIO3130
     bool
     default y if PCI_DEVICES
-    depends on PCI_EXPRESS
+    depends on PCI_EXPRESS && MSI
 
 config IOH3420
     bool
     default y if PCI_DEVICES
-    depends on PCI_EXPRESS
+    depends on PCI_EXPRESS && MSI
 
 config I82801B11
     bool
diff --git a/hw/rdma/Kconfig b/hw/rdma/Kconfig
new file mode 100644
index 0000000000..69ef0b49be
--- /dev/null
+++ b/hw/rdma/Kconfig
@@ -0,0 +1,3 @@ 
+config VMW_PVRDMA
+    default y if PCI_DEVICES
+    depends on PVRDMA && PCI && MSI
diff --git a/hw/rdma/Makefile.objs b/hw/rdma/Makefile.objs
index bd36cbf51c..533ab2f84a 100644
--- a/hw/rdma/Makefile.objs
+++ b/hw/rdma/Makefile.objs
@@ -1,5 +1,3 @@ 
-ifeq ($(CONFIG_PVRDMA),y)
-obj-$(CONFIG_PCI) += rdma_utils.o rdma_backend.o rdma_rm.o
-obj-$(CONFIG_PCI) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
+obj-$(CONFIG_VMW_PVRDMA) += rdma_utils.o rdma_backend.o rdma_rm.o
+obj-$(CONFIG_VMW_PVRDMA) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
                      vmw/pvrdma_qp_ops.o vmw/pvrdma_main.o
-endif