[libvirt] [PATCHv5 00/13] qemu: allow disabling certain virtio revisions
Michael S. Tsirkin
mst at redhat.com
Mon Sep 19 19:07:13 UTC 2016
On Wed, Sep 07, 2016 at 09:38:04PM +0200, Sascha Silbe wrote:
> Dear Laine,
>
> Laine Stump <laine at laine.org> writes:
>
> > On 09/07/2016 02:35 PM, Sascha Silbe wrote:
> >> "Daniel P. Berrange" <berrange at 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.
So in a quest to give users the most flexibility QEMU interface became messy
as usual. Sorry about that :(
> so
> virtio-*-ccw devices don't recognise that switch:
>
> silbe at oc4731375738:~$ ~/build/qemu-devel/x86_64-softmmu/qemu-system-x86_64 -device virtio-blk,help 2>&1 |grep legacy
> virtio-blk-pci.disable-legacy=OnOffAuto (on/off/auto)
> silbe at oc4731375738:~$ ~/build/qemu-devel/s390x-softmmu/qemu-system-s390x -device virtio-blk,help 2>&1 |grep legacy
>
> That nicely illustrates the issue I have with a) mixing virtio-pci
> legacy/modern into the model name and b) conflating it with virtio
> 0.9/1.0 (or transitional/non-transitional for that matter).
So the point is that qemu would typically do the right thing.
So maybe for the model it makes sense to have
legacy/transitional/non-transitional/auto
and then translate it to whatever qemu flags are.
> FWIW, the thing closest to virtio-pci legacy/modern is virtio-ccw
> max_revision. But I doubt there's any reason to set this beyond
> debugging and testing.
Can be helpful as work-arounds for guest/host bugs as well.
>
> > For the effect, you would
> > need to ask a qemu virtio person, or even better - a qemu s390 person
> > who knows something about about virtio. I Cc'ed Michael (the former) and
> > Cornelia Huck (the latter, according to this patch I found:
> > https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg01024.html )
>
> Thanks, but I'm working on qemu for s390x myself. :)
>
> Sascha
> --
> Softwareentwicklung Sascha Silbe, Niederhofenstraße 5/1, 71229 Leonberg
> https://se-silbe.de/
> USt-IdNr. DE281696641
More information about the libvir-list
mailing list