
On Mon, 19 Sep 2016 22:07:13 +0300 "Michael S. Tsirkin" <mst@redhat.com> wrote:
On Wed, Sep 07, 2016 at 09:38:04PM +0200, Sascha Silbe wrote:
Dear Laine,
Laine Stump <laine@laine.org> writes:
On 09/07/2016 02:35 PM, Sascha Silbe wrote:
"Daniel P. Berrange" <berrange@redhat.com> writes: [...]
<sound model="virtio"/> == QEMU virtio <sound model="virtio1.0"/> == QEMU virtio + disable-legacy
What would this do for devices using the virtio-ccw transport?
From libvirt's point of view, the option "disable-legacy=on" would be added to the device's commandline argument.
Which would break s390x guests. virtio-ccw doesn't have any concept of "legacy" or "modern" devices (that's purely a virtio-pci concept),
Legacy is a generic concept found in virtio 1 spec. Modern isn't, virtio 1 only has transitional/non-transitional.
If you want to stick to the spec you should therefore use legacy/transitional/non-transitional at the API level.
It is true that not all transports have all options. ccw does not support non-transitional devices, mmio does not support transitional ones.
We basically have: - legacy devices: pci, ccw - standard-compliant devices: pci, ccw, mmio - of these, pci and ccw have transitional support, which can be disabled for pci Per default, I don't think libvirt should offer legacy devices - I see this as a machine-version backwards-compatibility option which should be handled via the machine version only. It makes sense to have a way to force pci devices to either transitional or non-transitional. For ccw and mmio, this is not applicable. Therefore, I think libvirt should offer a switch to handle transitional/non-transitional pci only and not provide any other virtio-version switches.