qemu/hw/virtio/Kconfig
Paolo Bonzini 8d018fe59a virtio: kconfig: memory devices are PCI only
Virtio memory devices rely on PCI BARs to expose the contents of memory.
Because of this they cannot be used (yet) with virtio-mmio or virtio-ccw.
In fact the code that is common to virtio-mem and virtio-pmem, which
is in hw/virtio/virtio-md-pci.c, is only included if CONFIG_VIRTIO_PCI
is set.  Reproduce the same condition in the Kconfig file, only allowing
VIRTIO_MEM and VIRTIO_PMEM to be defined if the transport supports it.

Without this patch it is possible to create a configuration with
CONFIG_VIRTIO_PCI=n and CONFIG_VIRTIO_MEM=y, but that causes a
linking failure.

Message-ID: <20240906101658.514470-1-pbonzini@redhat.com>
Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
2024-09-24 11:33:34 +02:00

123 lines
2.1 KiB
Text

config VIRTIO
bool
config VIRTIO_RNG
bool
default y
depends on VIRTIO
config VIRTIO_IOMMU
bool
default y
depends on PCI && VIRTIO
config VIRTIO_PCI
bool
default y if PCI_DEVICES
depends on PCI
select VIRTIO
select VIRTIO_MD_SUPPORTED
config VIRTIO_MMIO
bool
select VIRTIO
config VIRTIO_CCW
bool
select VIRTIO
config VIRTIO_BALLOON
bool
default y
depends on VIRTIO
config VIRTIO_CRYPTO
bool
default y
depends on VIRTIO
# not all virtio transports support memory devices; if none does,
# no need to include the code
config VIRTIO_MD_SUPPORTED
bool
config VIRTIO_MD
bool
depends on VIRTIO_MD_SUPPORTED
select MEM_DEVICE
# selected by the board if it has the required support code
config VIRTIO_PMEM_SUPPORTED
bool
config VIRTIO_PMEM
bool
default y
depends on VIRTIO
depends on VIRTIO_MD_SUPPORTED
depends on VIRTIO_PMEM_SUPPORTED
select VIRTIO_MD
# selected by the board if it has the required support code
config VIRTIO_MEM_SUPPORTED
bool
config VIRTIO_MEM
bool
default y
depends on VIRTIO
depends on LINUX
depends on VIRTIO_MD_SUPPORTED
depends on VIRTIO_MEM_SUPPORTED
select VIRTIO_MD
config VHOST_VSOCK_COMMON
bool
depends on VIRTIO
config VHOST_VSOCK
bool
default y
select VHOST_VSOCK_COMMON
depends on VIRTIO && VHOST_KERNEL
config VHOST_USER_VSOCK
bool
default y
select VHOST_VSOCK_COMMON
depends on VIRTIO && VHOST_USER
config VHOST_USER_I2C
bool
default y
depends on VIRTIO && VHOST_USER
config VHOST_USER_RNG
bool
default y
depends on VIRTIO && VHOST_USER
config VHOST_USER_FS
bool
default y
depends on VIRTIO && VHOST_USER
config VHOST_USER_GPIO
bool
default y
depends on VIRTIO && VHOST_USER
config VHOST_VDPA_DEV
bool
default y
depends on VIRTIO && VHOST_VDPA && LINUX
config VHOST_USER_SND
bool
default y
depends on VIRTIO && VHOST_USER
config VHOST_USER_SCMI
bool
default y
depends on VIRTIO && VHOST_USER