[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] virtio-mmio: implement modern (v2) personality (v
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [RFC] virtio-mmio: implement modern (v2) personality (virtio-1) |
Date: |
Thu, 1 Aug 2019 08:17:49 -0400 |
On Wed, Jul 31, 2019 at 01:02:13PM +0200, Sergio Lopez wrote:
>
> Andrea Bolognani <address@hidden> writes:
>
> > On Mon, 2019-07-29 at 14:57 +0200, Sergio Lopez wrote:
> > [...]
> >> /* virtio-mmio device */
> >>
> >> static Property virtio_mmio_properties[] = {
> >> DEFINE_PROP_BOOL("format_transport_address", VirtIOMMIOProxy,
> >> format_transport_address, true),
> >> + DEFINE_PROP_BOOL("modern", VirtIOMMIOProxy, modern, false),
> >> DEFINE_PROP_END_OF_LIST(),
> >> };
> >
> > Not a QEMU developer so forgive me if I say something silly, but IIUC
> > you'd be able to opt into the new feature by using eg.
> >
> > -device virtio-net-device,modern=on
> >
> > However, virtio-pci devices already have a mechanism to control the
> > VirtIO protocol version, where you use
> >
> > -device virtio-net-pci,disable-modern=no,disable-legacy=yes
> >
> > to get a VirtIO 1.x-only device and
> >
> > -device virtio-net-pci,disable-modern=no,disable-legacy=no
> >
> > for a transitional device.
> >
> > Can you please make sure virtio-mmio uses the existing interface
> > instead of introducing a new one?
>
> The problem here is that virtio-pci devices register an specific type
> for each kind of supported device (virtio-net-pci, virtio-blk-pci...),
> while virtio-mmio doesn't. This saves a lot of boilerplate, but also
> implies that bus properties can't be passed through the attached device
> (virtio-blk-device can't carry properties for it's virtio-mmio parent
> bus).
>
> Sergio.
That's something we wanted to fix a long time ago though.
--
MST