On Wed, Mar 09, 2016 at 02:09:22PM -0500, Laine Stump wrote:
On 03/09/2016 09:54 AM, Daniel P. Berrange wrote:
>>From the POV of being able to tell libvirt to assign PCI instead of
>MMIO addresses for the virt machine, I think it suffices to have
>libvirt accept a simple <address type="pci"/> element (ie with no
>bus/slot/func filled in).
That's just a more limited case of the same type of feature creep though -
you're specifying a preference for what type of address you want, just in a
different place. (The odd thing is that we're adding it only to remedy what
is apparently a temporary problem, and even then it's a problem that
wouldn't exist if we just said simply this: "If virtio-mmio is specified,
then use virtio-mmio; If no address is specified, use pci". This puts the
burden on people insisting on the old / soon-to-be-deprecated (?)
virtio-mmio address type to add a little something to the XML (and a very
simple little something at that!). For a short time, this could cause
problems for people who create new domains using qemu binaries that don't
have a pci bus on aarch64/virt yet, but that will be easily solvable (by
adding "<address type='virtio-mmio'/>", which is nearly as simple
as typing
"<address type='pci'/>").
So, I've just seen that QEMU has decided that as of QEMU 2.6, the virt
machine type will start to be versioned. This is quite convenient I
think as it gives us a nice thing to hook on. ie we see a non-versioned
machine type of 'virt' then we use virtio-mmio addressing, however, if
we see a versioned virt-X.Y.Z machine type, then we can assume pci by
default.
Since the long term plan for AArch64 is to use PCI for everything, this
gives us nice default behaviour from this point onwards, while not
breaking compatibility for existing early adopters.
Of course people with "legacy" mmio-only guests will stll have a little
pain to run then on new QEMU, but honestly I think that's worth it since
it will avoid us long term pain in the world where aarch64 uses pci for
everything
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|