Put QOM and main struct definition in a separate header file, so it
can be accesed from other components.
This is needed for the microvm machine type implementation.
Signed-off-by: Sergio Lopez <slp@redhat.com>
---
hw/virtio/virtio-mmio.c | 35 +-----------------------
hw/virtio/virtio-mmio.h | 60 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 34 deletions(-)
create mode 100644 hw/virtio/virtio-mmio.h
diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c
index 97b7f35496..87c7fe4d8d 100644
--- a/hw/virtio/virtio-mmio.c
+++ b/hw/virtio/virtio-mmio.c
@@ -26,44 +26,11 @@
#include "qemu/host-utils.h"
#include "qemu/module.h"
#include "sysemu/kvm.h"
-#include "hw/virtio/virtio-bus.h"
+#include "virtio-mmio.h"
#include "qemu/error-report.h"
#include "qemu/log.h"
#include "trace.h"
-/* QOM macros */
-/* virtio-mmio-bus */
-#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus"
-#define VIRTIO_MMIO_BUS(obj) \
- OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS)
-#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \
- OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS)
-#define VIRTIO_MMIO_BUS_CLASS(klass) \
- OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS)
-
-/* virtio-mmio */
-#define TYPE_VIRTIO_MMIO "virtio-mmio"
-#define VIRTIO_MMIO(obj) \
- OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO)
-
-#define VIRT_MAGIC 0x74726976 /* 'virt' */
-#define VIRT_VERSION 1
-#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */
-
-typedef struct {
- /* Generic */
- SysBusDevice parent_obj;
- MemoryRegion iomem;
- qemu_irq irq;
- /* Guest accessible state needing migration and reset */
- uint32_t host_features_sel;
- uint32_t guest_features_sel;
- uint32_t guest_page_shift;
- /* virtio-bus */
- VirtioBusState bus;
- bool format_transport_address;
-} VirtIOMMIOProxy;
-
static bool virtio_mmio_ioeventfd_enabled(DeviceState *d)
{
return kvm_eventfds_enabled();
diff --git a/hw/virtio/virtio-mmio.h b/hw/virtio/virtio-mmio.h
new file mode 100644
index 0000000000..2f3973f8c7
--- /dev/null
+++ b/hw/virtio/virtio-mmio.h
@@ -0,0 +1,60 @@
+/*
+ * Virtio MMIO bindings
+ *
+ * Copyright (c) 2011 Linaro Limited
+ *
+ * Author:
+ * Peter Maydell <peter.maydell@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef QEMU_VIRTIO_MMIO_H
+#define QEMU_VIRTIO_MMIO_H
+
+#include "hw/virtio/virtio-bus.h"
+
+/* QOM macros */
+/* virtio-mmio-bus */
+#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus"
+#define VIRTIO_MMIO_BUS(obj) \
+ OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS)
+#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \
+ OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS)
+#define VIRTIO_MMIO_BUS_CLASS(klass) \
+ OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS)
+
+/* virtio-mmio */
+#define TYPE_VIRTIO_MMIO "virtio-mmio"
+#define VIRTIO_MMIO(obj) \
+ OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO)
+
+#define VIRT_MAGIC 0x74726976 /* 'virt' */
+#define VIRT_VERSION 1
+#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */
+
+typedef struct {
+ /* Generic */
+ SysBusDevice parent_obj;
+ MemoryRegion iomem;
+ qemu_irq irq;
+ /* Guest accessible state needing migration and reset */
+ uint32_t host_features_sel;
+ uint32_t guest_features_sel;
+ uint32_t guest_page_shift;
+ /* virtio-bus */
+ VirtioBusState bus;
+ bool format_transport_address;
+} VirtIOMMIOProxy;
+
+#endif
--
2.21.0
On Fri, Jun 28, 2019 at 01:53:47PM +0200, Sergio Lopez wrote: > Put QOM and main struct definition in a separate header file, so it > can be accesed from other components. > > This is needed for the microvm machine type implementation. > > Signed-off-by: Sergio Lopez <slp@redhat.com> If you are going to productise virtio-mmio, then 1.0 support is a must. I am not sure we want a new machine with 0.X mmio devices. Especially considering that virtio-mmio does not have support for transitional devices. > --- > hw/virtio/virtio-mmio.c | 35 +----------------------- > hw/virtio/virtio-mmio.h | 60 +++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 61 insertions(+), 34 deletions(-) > create mode 100644 hw/virtio/virtio-mmio.h > > diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c > index 97b7f35496..87c7fe4d8d 100644 > --- a/hw/virtio/virtio-mmio.c > +++ b/hw/virtio/virtio-mmio.c > @@ -26,44 +26,11 @@ > #include "qemu/host-utils.h" > #include "qemu/module.h" > #include "sysemu/kvm.h" > -#include "hw/virtio/virtio-bus.h" > +#include "virtio-mmio.h" > #include "qemu/error-report.h" > #include "qemu/log.h" > #include "trace.h" > > -/* QOM macros */ > -/* virtio-mmio-bus */ > -#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus" > -#define VIRTIO_MMIO_BUS(obj) \ > - OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS) > -#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \ > - OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS) > -#define VIRTIO_MMIO_BUS_CLASS(klass) \ > - OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS) > - > -/* virtio-mmio */ > -#define TYPE_VIRTIO_MMIO "virtio-mmio" > -#define VIRTIO_MMIO(obj) \ > - OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO) > - > -#define VIRT_MAGIC 0x74726976 /* 'virt' */ > -#define VIRT_VERSION 1 > -#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */ > - > -typedef struct { > - /* Generic */ > - SysBusDevice parent_obj; > - MemoryRegion iomem; > - qemu_irq irq; > - /* Guest accessible state needing migration and reset */ > - uint32_t host_features_sel; > - uint32_t guest_features_sel; > - uint32_t guest_page_shift; > - /* virtio-bus */ > - VirtioBusState bus; > - bool format_transport_address; > -} VirtIOMMIOProxy; > - > static bool virtio_mmio_ioeventfd_enabled(DeviceState *d) > { > return kvm_eventfds_enabled(); > diff --git a/hw/virtio/virtio-mmio.h b/hw/virtio/virtio-mmio.h > new file mode 100644 > index 0000000000..2f3973f8c7 > --- /dev/null > +++ b/hw/virtio/virtio-mmio.h > @@ -0,0 +1,60 @@ > +/* > + * Virtio MMIO bindings > + * > + * Copyright (c) 2011 Linaro Limited > + * > + * Author: > + * Peter Maydell <peter.maydell@linaro.org> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License; either version 2 > + * of the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License along > + * with this program; if not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef QEMU_VIRTIO_MMIO_H > +#define QEMU_VIRTIO_MMIO_H > + > +#include "hw/virtio/virtio-bus.h" > + > +/* QOM macros */ > +/* virtio-mmio-bus */ > +#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus" > +#define VIRTIO_MMIO_BUS(obj) \ > + OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS) > +#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \ > + OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS) > +#define VIRTIO_MMIO_BUS_CLASS(klass) \ > + OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS) > + > +/* virtio-mmio */ > +#define TYPE_VIRTIO_MMIO "virtio-mmio" > +#define VIRTIO_MMIO(obj) \ > + OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO) > + > +#define VIRT_MAGIC 0x74726976 /* 'virt' */ > +#define VIRT_VERSION 1 > +#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */ > + > +typedef struct { > + /* Generic */ > + SysBusDevice parent_obj; > + MemoryRegion iomem; > + qemu_irq irq; > + /* Guest accessible state needing migration and reset */ > + uint32_t host_features_sel; > + uint32_t guest_features_sel; > + uint32_t guest_page_shift; > + /* virtio-bus */ > + VirtioBusState bus; > + bool format_transport_address; > +} VirtIOMMIOProxy; > + > +#endif > -- > 2.21.0
Michael S. Tsirkin <mst@redhat.com> writes: > On Fri, Jun 28, 2019 at 01:53:47PM +0200, Sergio Lopez wrote: >> Put QOM and main struct definition in a separate header file, so it >> can be accesed from other components. >> >> This is needed for the microvm machine type implementation. >> >> Signed-off-by: Sergio Lopez <slp@redhat.com> > > If you are going to productise virtio-mmio, then 1.0 support is a must. > I am not sure we want a new machine with 0.X mmio devices. > Especially considering that virtio-mmio does not have support for > transitional devices. What are the practical implications of that? >> --- >> hw/virtio/virtio-mmio.c | 35 +----------------------- >> hw/virtio/virtio-mmio.h | 60 +++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 61 insertions(+), 34 deletions(-) >> create mode 100644 hw/virtio/virtio-mmio.h >> >> diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c >> index 97b7f35496..87c7fe4d8d 100644 >> --- a/hw/virtio/virtio-mmio.c >> +++ b/hw/virtio/virtio-mmio.c >> @@ -26,44 +26,11 @@ >> #include "qemu/host-utils.h" >> #include "qemu/module.h" >> #include "sysemu/kvm.h" >> -#include "hw/virtio/virtio-bus.h" >> +#include "virtio-mmio.h" >> #include "qemu/error-report.h" >> #include "qemu/log.h" >> #include "trace.h" >> >> -/* QOM macros */ >> -/* virtio-mmio-bus */ >> -#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus" >> -#define VIRTIO_MMIO_BUS(obj) \ >> - OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS) >> -#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \ >> - OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS) >> -#define VIRTIO_MMIO_BUS_CLASS(klass) \ >> - OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS) >> - >> -/* virtio-mmio */ >> -#define TYPE_VIRTIO_MMIO "virtio-mmio" >> -#define VIRTIO_MMIO(obj) \ >> - OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO) >> - >> -#define VIRT_MAGIC 0x74726976 /* 'virt' */ >> -#define VIRT_VERSION 1 >> -#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */ >> - >> -typedef struct { >> - /* Generic */ >> - SysBusDevice parent_obj; >> - MemoryRegion iomem; >> - qemu_irq irq; >> - /* Guest accessible state needing migration and reset */ >> - uint32_t host_features_sel; >> - uint32_t guest_features_sel; >> - uint32_t guest_page_shift; >> - /* virtio-bus */ >> - VirtioBusState bus; >> - bool format_transport_address; >> -} VirtIOMMIOProxy; >> - >> static bool virtio_mmio_ioeventfd_enabled(DeviceState *d) >> { >> return kvm_eventfds_enabled(); >> diff --git a/hw/virtio/virtio-mmio.h b/hw/virtio/virtio-mmio.h >> new file mode 100644 >> index 0000000000..2f3973f8c7 >> --- /dev/null >> +++ b/hw/virtio/virtio-mmio.h >> @@ -0,0 +1,60 @@ >> +/* >> + * Virtio MMIO bindings >> + * >> + * Copyright (c) 2011 Linaro Limited >> + * >> + * Author: >> + * Peter Maydell <peter.maydell@linaro.org> >> + * >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License; either version 2 >> + * of the License, or (at your option) any later version. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + * >> + * You should have received a copy of the GNU General Public License along >> + * with this program; if not, see <http://www.gnu.org/licenses/>. >> + */ >> + >> +#ifndef QEMU_VIRTIO_MMIO_H >> +#define QEMU_VIRTIO_MMIO_H >> + >> +#include "hw/virtio/virtio-bus.h" >> + >> +/* QOM macros */ >> +/* virtio-mmio-bus */ >> +#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus" >> +#define VIRTIO_MMIO_BUS(obj) \ >> + OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS) >> +#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \ >> + OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS) >> +#define VIRTIO_MMIO_BUS_CLASS(klass) \ >> + OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS) >> + >> +/* virtio-mmio */ >> +#define TYPE_VIRTIO_MMIO "virtio-mmio" >> +#define VIRTIO_MMIO(obj) \ >> + OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO) >> + >> +#define VIRT_MAGIC 0x74726976 /* 'virt' */ >> +#define VIRT_VERSION 1 >> +#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */ >> + >> +typedef struct { >> + /* Generic */ >> + SysBusDevice parent_obj; >> + MemoryRegion iomem; >> + qemu_irq irq; >> + /* Guest accessible state needing migration and reset */ >> + uint32_t host_features_sel; >> + uint32_t guest_features_sel; >> + uint32_t guest_page_shift; >> + /* virtio-bus */ >> + VirtioBusState bus; >> + bool format_transport_address; >> +} VirtIOMMIOProxy; >> + >> +#endif >> -- >> 2.21.0
On Fri, Jun 28, 2019 at 10:50:47PM +0200, Sergio Lopez wrote: > > Michael S. Tsirkin <mst@redhat.com> writes: > > > On Fri, Jun 28, 2019 at 01:53:47PM +0200, Sergio Lopez wrote: > >> Put QOM and main struct definition in a separate header file, so it > >> can be accesed from other components. > >> > >> This is needed for the microvm machine type implementation. > >> > >> Signed-off-by: Sergio Lopez <slp@redhat.com> > > > > If you are going to productise virtio-mmio, then 1.0 support is a must. > > I am not sure we want a new machine with 0.X mmio devices. > > Especially considering that virtio-mmio does not have support for > > transitional devices. > > What are the practical implications of that? On the plus side, this means we don't need to maintain a bunch of hacks for old guests with quirky drivers. On the minus side, this requires Linux guests 3.19 and up. > >> --- > >> hw/virtio/virtio-mmio.c | 35 +----------------------- > >> hw/virtio/virtio-mmio.h | 60 +++++++++++++++++++++++++++++++++++++++++ > >> 2 files changed, 61 insertions(+), 34 deletions(-) > >> create mode 100644 hw/virtio/virtio-mmio.h > >> > >> diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c > >> index 97b7f35496..87c7fe4d8d 100644 > >> --- a/hw/virtio/virtio-mmio.c > >> +++ b/hw/virtio/virtio-mmio.c > >> @@ -26,44 +26,11 @@ > >> #include "qemu/host-utils.h" > >> #include "qemu/module.h" > >> #include "sysemu/kvm.h" > >> -#include "hw/virtio/virtio-bus.h" > >> +#include "virtio-mmio.h" > >> #include "qemu/error-report.h" > >> #include "qemu/log.h" > >> #include "trace.h" > >> > >> -/* QOM macros */ > >> -/* virtio-mmio-bus */ > >> -#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus" > >> -#define VIRTIO_MMIO_BUS(obj) \ > >> - OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS) > >> -#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \ > >> - OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS) > >> -#define VIRTIO_MMIO_BUS_CLASS(klass) \ > >> - OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS) > >> - > >> -/* virtio-mmio */ > >> -#define TYPE_VIRTIO_MMIO "virtio-mmio" > >> -#define VIRTIO_MMIO(obj) \ > >> - OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO) > >> - > >> -#define VIRT_MAGIC 0x74726976 /* 'virt' */ > >> -#define VIRT_VERSION 1 > >> -#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */ > >> - > >> -typedef struct { > >> - /* Generic */ > >> - SysBusDevice parent_obj; > >> - MemoryRegion iomem; > >> - qemu_irq irq; > >> - /* Guest accessible state needing migration and reset */ > >> - uint32_t host_features_sel; > >> - uint32_t guest_features_sel; > >> - uint32_t guest_page_shift; > >> - /* virtio-bus */ > >> - VirtioBusState bus; > >> - bool format_transport_address; > >> -} VirtIOMMIOProxy; > >> - > >> static bool virtio_mmio_ioeventfd_enabled(DeviceState *d) > >> { > >> return kvm_eventfds_enabled(); > >> diff --git a/hw/virtio/virtio-mmio.h b/hw/virtio/virtio-mmio.h > >> new file mode 100644 > >> index 0000000000..2f3973f8c7 > >> --- /dev/null > >> +++ b/hw/virtio/virtio-mmio.h > >> @@ -0,0 +1,60 @@ > >> +/* > >> + * Virtio MMIO bindings > >> + * > >> + * Copyright (c) 2011 Linaro Limited > >> + * > >> + * Author: > >> + * Peter Maydell <peter.maydell@linaro.org> > >> + * > >> + * This program is free software; you can redistribute it and/or modify > >> + * it under the terms of the GNU General Public License; either version 2 > >> + * of the License, or (at your option) any later version. > >> + * > >> + * This program is distributed in the hope that it will be useful, > >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of > >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > >> + * GNU General Public License for more details. > >> + * > >> + * You should have received a copy of the GNU General Public License along > >> + * with this program; if not, see <http://www.gnu.org/licenses/>. > >> + */ > >> + > >> +#ifndef QEMU_VIRTIO_MMIO_H > >> +#define QEMU_VIRTIO_MMIO_H > >> + > >> +#include "hw/virtio/virtio-bus.h" > >> + > >> +/* QOM macros */ > >> +/* virtio-mmio-bus */ > >> +#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus" > >> +#define VIRTIO_MMIO_BUS(obj) \ > >> + OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS) > >> +#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \ > >> + OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS) > >> +#define VIRTIO_MMIO_BUS_CLASS(klass) \ > >> + OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS) > >> + > >> +/* virtio-mmio */ > >> +#define TYPE_VIRTIO_MMIO "virtio-mmio" > >> +#define VIRTIO_MMIO(obj) \ > >> + OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO) > >> + > >> +#define VIRT_MAGIC 0x74726976 /* 'virt' */ > >> +#define VIRT_VERSION 1 > >> +#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */ > >> + > >> +typedef struct { > >> + /* Generic */ > >> + SysBusDevice parent_obj; > >> + MemoryRegion iomem; > >> + qemu_irq irq; > >> + /* Guest accessible state needing migration and reset */ > >> + uint32_t host_features_sel; > >> + uint32_t guest_features_sel; > >> + uint32_t guest_page_shift; > >> + /* virtio-bus */ > >> + VirtioBusState bus; > >> + bool format_transport_address; > >> +} VirtIOMMIOProxy; > >> + > >> +#endif > >> -- > >> 2.21.0 >
> > > I am not sure we want a new machine with 0.X mmio devices. > > > Especially considering that virtio-mmio does not have support for > > > transitional devices. > > > > What are the practical implications of that? > > On the plus side, this means we don't need to maintain a bunch of hacks > for old guests with quirky drivers. Also note that some newer virtio devices require virtio 1.0. cheers, Gerd
On Tue, Jul 02, 2019 at 10:19:10AM +0200, Gerd Hoffmann wrote: > > > > I am not sure we want a new machine with 0.X mmio devices. > > > > Especially considering that virtio-mmio does not have support for > > > > transitional devices. > > > > > > What are the practical implications of that? > > > > On the plus side, this means we don't need to maintain a bunch of hacks > > for old guests with quirky drivers. > > Also note that some newer virtio devices require virtio 1.0. > > cheers, > Gerd Right. I forgot.
© 2016 - 2024 Red Hat, Inc.