[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] virtio: kconfig: memory devices are PCI only
From: |
Pankaj Gupta |
Subject: |
Re: [PATCH v2] virtio: kconfig: memory devices are PCI only |
Date: |
Wed, 25 Sep 2024 09:39:18 +0200 |
> 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.
Just curious what is required to make virtio-mem & virtio-pmem compatible with
virtio-mmio?
Maybe late but still:
Reviewed-by: Pankaj Gupta <pankaj.gupta@amd.com>
Thanks,
Pankaj
>
> Cc: David Hildenbrand <david@redhat.com>
> Reported-by: Michael Tokarev <mjt@tls.msk.ru>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/virtio/Kconfig | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig
> index aa63ff7fd41..0afec2ae929 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
>
> --
> 2.46.0
>
>