[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] virtio: kconfig: memory devices are PCI only
From: |
David Hildenbrand |
Subject: |
Re: [PATCH] virtio: kconfig: memory devices are PCI only |
Date: |
Fri, 6 Sep 2024 11:22:32 +0200 |
User-agent: |
Mozilla Thunderbird |
On 06.09.24 10:18, Paolo Bonzini wrote:
On Fri, Sep 6, 2024 at 9:40 AM David Hildenbrand <david@redhat.com> wrote:
On 06.09.24 09:37, Paolo Bonzini wrote:
Virtio memory devices rely on PCI BARs to expose the contents of memory.
Because of this they cannot be used with virtio-mmio or virtio-ccw. In fact
Guess what I am working on at this very the moment ;)
Ok, then hardcoding VIRTIO_PCI is not nice.
@@ -45,7 +46,7 @@ config VIRTIO_PMEM_SUPPORTED
config VIRTIO_PMEM
bool
default y
- depends on VIRTIO
+ depends on VIRTIO_PCI
depends on VIRTIO_MD ?
No, because VIRTIO_MD is "default n" (and anyway you don't want to
enable it by hand in the --without-default-devices case).
Right, that's what I originally tried to achieve.
But something like this could be a good alternative if you plan to
support virtio-ccw as well:
diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig
index aa63ff7fd41..253e7d3f90a 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,8 +36,14 @@ 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
config VIRTIO_PMEM_SUPPORTED
@@ -46,6 +51,7 @@ config VIRTIO_PMEM
bool
default y
depends on VIRTIO
+ depends on VIRTIO_MD_SUPPORTED
depends on VIRTIO_PMEM_SUPPORTED
select VIRTIO_MD
@@ -57,6 +63,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
and then you just need to select VIRTIO_MD_SUPPORTED from VIRTIO_CCW.
Sounds good.
In the case of PCI there is some board support code as well, which is
why VIRTIO_{MEM,PMEM}_SUPPORTED is selected from "config PC", but
perhaps in the s390 code you can select those three from VIRTIO_CCW as
well.
Yes, only VIRTIO_MEM_SUPPORTED for now.
If this looks good I'll send it as v2.
Thanks!
--
Cheers,
David / dhildenb