qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/qdev-core: Add compatibility for (non)-transitional devs


From: Jean-Louis Dupond
Subject: Re: [PATCH] hw/qdev-core: Add compatibility for (non)-transitional devs
Date: Wed, 20 Oct 2021 09:00:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0

On 19/10/2021 18:56, Eduardo Habkost wrote:
On Tue, Oct 19, 2021 at 12:13:17PM -0400, Michael S. Tsirkin wrote:
On Tue, Oct 19, 2021 at 11:29:13AM -0400, Eduardo Habkost wrote:
On Tue, Oct 19, 2021 at 06:59:09AM -0400, Michael S. Tsirkin wrote:
On Tue, Oct 19, 2021 at 11:46:17AM +0100, Stefan Hajnoczi wrote:
On Tue, Oct 12, 2021 at 10:36:01AM +0200, Jean-Louis Dupond wrote:
Forgot to CC maintainers.
Also CCing Jason Wang and Michael Tsirkin for VIRTIO.

Stefan
OMG
where all compat properties broken all the time?
Compat properties that existed when commit f6e501a28ef9 ("virtio:
Provide version-specific variants of virtio PCI devices") was
merged are not broken, because virtio-*-transitional and
virtio-*-non-transitional were brand new QOM types (so there's no
compatibility to be kept with old QEMU versions).

Compat properties referencing "virtio-*-pci" instead of
"virtio-*-pci-base" added after commit f6e501a28ef9 are probably
broken, yes.

--
Eduardo
Oh. So just this one:
     { "virtio-net-pci", "vectors", "3"},

right?
I think so.  That's the only post-4.0 virtio-*-pci compat property I see in
hw/core/machine.c.

pc.c doesn't have any post-4.0 virtio-*-pci compat props.  I didn't see any
virtio compat props on spapr.c and s390-virtio-ccw.c.

about the patch: how do people feel about virtio specific
stuff in qdev core? Ok by everyone?
Not OK, if we have a mechanism to avoid that, already (the
"virtio-net-pci-base" type name).  I wonder what we can do to
make this kind of mistake less likely, though.

Jean-Louis, Jason, does the following fix work?

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
diff --git a/hw/core/machine.c b/hw/core/machine.c
index b8d95eec32d..bd9c6156c1a 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -56,7 +56,7 @@ GlobalProperty hw_compat_5_2[] = {
      { "ICH9-LPC", "smm-compat", "on"},
      { "PIIX4_PM", "smm-compat", "on"},
      { "virtio-blk-device", "report-discard-granularity", "off" },
-    { "virtio-net-pci", "vectors", "3"},
+    { "virtio-net-pci-base", "vectors", "3"},
  };
  const size_t hw_compat_5_2_len = G_N_ELEMENTS(hw_compat_5_2);
That patch fixes it indeed!

Acked-by: Jean-Louis Dupond <jean-louis@dupond.be>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]