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: Jason Wang <jasowang@redhat.com> Link: https://lore.kernel.org/r/20200326140125.19794-2-jasowang@redhat.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
5a6b4cc5b7
commit
20c384f1ea
@ -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
|
|||||||
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
|
|||||||
|
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
source "drivers/vhost/Kconfig"
|
|
||||||
|
|
||||||
endif # VIRTUALIZATION
|
endif # VIRTUALIZATION
|
||||||
|
@ -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
|
|||||||
|
|
||||||
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
|
|||||||
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"
|
|||||||
|
|
||||||
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
|
|||||||
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
|
|||||||
---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
|
||||||
|
@ -1,4 +1,23 @@
|
|||||||
# 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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
# 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.
|
|
Loading…
Reference in New Issue
Block a user