diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2024-09-06 12:16:58 +0200 |
---|---|---|
committer | David Hildenbrand <david@redhat.com> | 2024-09-24 11:33:34 +0200 |
commit | 8d018fe59a0beff580ac6b3399d642c4277d9dd0 (patch) | |
tree | 052cfe6cce84c918c3e75a3cbbf688ffdc951a6f | |
parent | 01dc65a3bc262ab1bec8fe89775e9bbfa627becb (diff) | |
download | qemu-8d018fe59a0beff580ac6b3399d642c4277d9dd0.zip qemu-8d018fe59a0beff580ac6b3399d642c4277d9dd0.tar.gz qemu-8d018fe59a0beff580ac6b3399d642c4277d9dd0.tar.bz2 |
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>
-rw-r--r-- | hw/virtio/Kconfig | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig index aa63ff7..0afec2a 100644 --- a/hw/virtio/Kconfig +++ b/hw/virtio/Kconfig @@ -16,6 +16,7 @@ config VIRTIO_PCI default y if PCI_DEVICES depends on PCI select VIRTIO + select VIRTIO_MD_SUPPORTED config VIRTIO_MMIO bool @@ -35,10 +36,17 @@ config VIRTIO_CRYPTO 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 @@ -46,9 +54,11 @@ 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 @@ -57,6 +67,7 @@ config VIRTIO_MEM default y depends on VIRTIO depends on LINUX + depends on VIRTIO_MD_SUPPORTED depends on VIRTIO_MEM_SUPPORTED select VIRTIO_MD |