Commit 20c384f1 authored by Jason Wang's avatar Jason Wang Committed by Michael S. Tsirkin

vhost: refine vhost and vringh kconfig

Currently, CONFIG_VHOST depends on CONFIG_VIRTUALIZATION. But vhost is
not necessarily for VM since it's a generic userspace and kernel
communication protocol. Such dependency may prevent archs without
virtualization support from using vhost.

To solve this, a dedicated vhost menu is created under drivers so
CONIFG_VHOST can be decoupled out of CONFIG_VIRTUALIZATION.

While at it, also squash Kconfig.vringh into vhost Kconfig file. This
avoids the trick of conditional inclusion from VOP or CAIF. Then it
will be easier to introduce new vringh users and common dependency for
both vringh and vhost.
Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/20200326140125.19794-2-jasowang@redhat.comSigned-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 5a6b4cc5
...@@ -54,6 +54,4 @@ config KVM_ARM_HOST ...@@ -54,6 +54,4 @@ config KVM_ARM_HOST
---help--- ---help---
Provides host support for ARM processors. Provides host support for ARM processors.
source "drivers/vhost/Kconfig"
endif # VIRTUALIZATION endif # VIRTUALIZATION
...@@ -64,6 +64,4 @@ config KVM_ARM_PMU ...@@ -64,6 +64,4 @@ config KVM_ARM_PMU
config KVM_INDIRECT_VECTORS config KVM_INDIRECT_VECTORS
def_bool KVM && (HARDEN_BRANCH_PREDICTOR || HARDEN_EL2_VECTORS) def_bool KVM && (HARDEN_BRANCH_PREDICTOR || HARDEN_EL2_VECTORS)
source "drivers/vhost/Kconfig"
endif # VIRTUALIZATION endif # VIRTUALIZATION
...@@ -72,6 +72,4 @@ config KVM_MIPS_DEBUG_COP0_COUNTERS ...@@ -72,6 +72,4 @@ config KVM_MIPS_DEBUG_COP0_COUNTERS
If unsure, say N. If unsure, say N.
source "drivers/vhost/Kconfig"
endif # VIRTUALIZATION endif # VIRTUALIZATION
...@@ -204,6 +204,4 @@ config KVM_XIVE ...@@ -204,6 +204,4 @@ config KVM_XIVE
default y default y
depends on KVM_XICS && PPC_XIVE_NATIVE && KVM_BOOK3S_HV_POSSIBLE depends on KVM_XICS && PPC_XIVE_NATIVE && KVM_BOOK3S_HV_POSSIBLE
source "drivers/vhost/Kconfig"
endif # VIRTUALIZATION endif # VIRTUALIZATION
...@@ -55,8 +55,4 @@ config KVM_S390_UCONTROL ...@@ -55,8 +55,4 @@ config KVM_S390_UCONTROL
If unsure, say N. If unsure, say N.
# OK, it's a little counter-intuitive to do this, but it puts it neatly under
# the virtualization menu.
source "drivers/vhost/Kconfig"
endif # VIRTUALIZATION endif # VIRTUALIZATION
...@@ -107,8 +107,4 @@ config KVM_MMU_AUDIT ...@@ -107,8 +107,4 @@ config KVM_MMU_AUDIT
This option adds a R/W kVM module parameter 'mmu_audit', which allows This option adds a R/W kVM module parameter 'mmu_audit', which allows
auditing of KVM MMU events at runtime. auditing of KVM MMU events at runtime.
# OK, it's a little counter-intuitive to do this, but it puts it neatly under
# the virtualization menu.
source "drivers/vhost/Kconfig"
endif # VIRTUALIZATION endif # VIRTUALIZATION
...@@ -138,6 +138,8 @@ source "drivers/virt/Kconfig" ...@@ -138,6 +138,8 @@ source "drivers/virt/Kconfig"
source "drivers/virtio/Kconfig" source "drivers/virtio/Kconfig"
source "drivers/vhost/Kconfig"
source "drivers/hv/Kconfig" source "drivers/hv/Kconfig"
source "drivers/xen/Kconfig" source "drivers/xen/Kconfig"
......
...@@ -133,8 +133,4 @@ config VOP ...@@ -133,8 +133,4 @@ config VOP
OS and tools for MIC to use with this driver are available from OS and tools for MIC to use with this driver are available from
<http://software.intel.com/en-us/mic-developer>. <http://software.intel.com/en-us/mic-developer>.
if VOP
source "drivers/vhost/Kconfig.vringh"
endif
endmenu endmenu
...@@ -58,8 +58,4 @@ config CAIF_VIRTIO ...@@ -58,8 +58,4 @@ config CAIF_VIRTIO
---help--- ---help---
The CAIF driver for CAIF over Virtio. The CAIF driver for CAIF over Virtio.
if CAIF_VIRTIO
source "drivers/vhost/Kconfig.vringh"
endif
endif # CAIF_DRIVERS endif # CAIF_DRIVERS
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
config VHOST_RING
tristate
help
This option is selected by any driver which needs to access
the host side of a virtio ring.
config VHOST
tristate
select VHOST_IOTLB
help
This option is selected by any driver which needs to access
the core of vhost.
menuconfig VHOST_MENU
bool "VHOST drivers"
default y
if VHOST_MENU
config VHOST_NET config VHOST_NET
tristate "Host kernel accelerator for virtio net" tristate "Host kernel accelerator for virtio net"
depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP) depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP)
...@@ -23,8 +42,8 @@ config VHOST_SCSI ...@@ -23,8 +42,8 @@ config VHOST_SCSI
config VHOST_VSOCK config VHOST_VSOCK
tristate "vhost virtio-vsock driver" tristate "vhost virtio-vsock driver"
depends on VSOCKETS && EVENTFD depends on VSOCKETS && EVENTFD
select VIRTIO_VSOCKETS_COMMON
select VHOST select VHOST
select VIRTIO_VSOCKETS_COMMON
default n default n
---help--- ---help---
This kernel module can be loaded in the host kernel to provide AF_VSOCK This kernel module can be loaded in the host kernel to provide AF_VSOCK
...@@ -34,12 +53,6 @@ config VHOST_VSOCK ...@@ -34,12 +53,6 @@ config VHOST_VSOCK
To compile this driver as a module, choose M here: the module will be called To compile this driver as a module, choose M here: the module will be called
vhost_vsock. vhost_vsock.
config VHOST
tristate
---help---
This option is selected by any driver which needs to access
the core of vhost.
config VHOST_CROSS_ENDIAN_LEGACY config VHOST_CROSS_ENDIAN_LEGACY
bool "Cross-endian support for vhost" bool "Cross-endian support for vhost"
default n default n
...@@ -54,3 +67,4 @@ config VHOST_CROSS_ENDIAN_LEGACY ...@@ -54,3 +67,4 @@ config VHOST_CROSS_ENDIAN_LEGACY
adds some overhead, it is disabled by default. adds some overhead, it is disabled by default.
If unsure, say "N". If unsure, say "N".
endif
# SPDX-License-Identifier: GPL-2.0-only
config VHOST_RING
tristate
---help---
This option is selected by any driver which needs to access
the host side of a virtio ring.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment