On Mon, Oct 15, 2018 at 06:27:21AM -0400, Michael S. Tsirkin wrote: > On Mon, Oct 15, 2018 at 10:16:41AM +0200, Gerd Hoffmann wrote: > > On Fri, Oct 12, 2018 at 11:54:35PM -0300, Eduardo Habkost wrote: > > > The current virtio-*-pci device types actually represent 3 > > > different types of devices: > > > * virtio 1.0 non-transitional devices > > > * virtio 1.0 transitional devices > > > > Ok. > > > > > * virtio 0.9 ("legacy device" in virtio 1.0 terminology) > > > > Why? Is there any reason to prefer 0.9 over transitional?
I don't know. The `disable-modern` option already exists but I don't know who would want to use it. I'm just adding a way to represent that existing feature without having another set of device types with multiple-personality disorder. > > > > cheers, > > Gerd > > Right - maybe a flag to disable modern interface is enough. > We thus get two types: > - transitional (legacy) > - non-transitional (modern) > which matches spec nicely. I would agree with the removal of virtio-*-0.9 only if we decide to drop support for disable-modern=true. If we still want to provide a legacy-only virtio device, it should be a separate device type. Without separate device types, it becomes impossible to provide meaningful device type information to management software, including but not limited to: * removal/deprecation of device types (especially important if we plan to remove virtio 0.9 support from QEMU one day) * PCI IDs * Bus compatibility information * Schema/introspection for 0.9-only or 1.0-only device options -- Eduardo