
On 06/12/2016 10:08 PM, Kevin Zhao wrote:
Hi Cole, Thanks for your kindly help.
On 13 June 2016 at 06:21, Cole Robinson <crobinso@redhat.com <mailto:crobinso@redhat.com>> wrote:
On 06/12/2016 10:29 AM, Kevin Zhao wrote: > Hi Cole && All, > Nice meeting you in the libvirt mail-list. Greetings from Linaro !!! > I am Kevin Zhao from Linaro and working for OpenStack on Aarch64. > Nowadays I find that the default "virtio" bus is "virtio-mmio" , not > "virtio-pci". Since virtio-mmio do not has the host plugged function , > something is wrong with the function in OpenStack Nova. > > Then I search and find some mail information as belows by Cole :-) > 1) https://www.redhat.com/archives/libvir-list/2015-December/msg00217.html > 2) https://www.redhat.com/archives/libvir-list/2016-March/msg00167.html > > I see some efforts have been doing by you. Really thanks for your > efforts for Aarch64. And I have some small questions. > 1. Is Libvirt planning to replace the default virtio-mmio to virtio-pci > for Aarch64?
We have vague plans to maybe change the virtio-mmio default to virtio-pci at some future point, based on some new enough qemu machine type. But the main blocker is that most linux distributions currently don't work out of the box with virtio-pci, at least Fedora doesn't as far as I know. So changing the default now is pre-mature
OK . Hope it will be true in the future.
> 2. If not , how can I change the xml file(generated by Virsh) for > virtio-pci so that Qemu can recognize it ? >
The latest libvirt-1.3.5 release accepts device XML containing <address type='pci'/> . The address block is an explicit request to libvirt to 'allocate a PCI address' rather than the default virtio-mmio. So for example if you want to specify a virtio nic, but have it use virtio-pci rather than virtio-mmio, you can do something like:
<interface type='network'> <source network='default'/> <model type='virtio'/> <address type='pci'/> </interface>
But there isn't currently any switch to say 'always give me virtio-pci instead of virtio-mmio'
In my opinion, that is to say, when I want to attach a block device to a guest and hope it take effects soon,*the only way is using 'scsi' instead of 'virtio'* in Aarch64 just like what virt-manager does since scsi supports hot plugged. Am I right?
On x86 at least virtio-blk + pci supports hotplug, but I don't know if that combo works for aarch64 at the moment. However disk=scsi hotplug should currently work on aarch64 with controller=virtio-scsi, I've tested that before Thanks, Cole