[libvirt] Question about virtio-pci in Aarch64

Kevin Zhao kevin.zhao at linaro.org
Wed Aug 17 11:49:11 UTC 2016

Hi Cole,
     Long time no see~
     Thanks for giving help me about AArch64 of virtio-pci. You have rich
experience about this,
I am green hand and seeking for your help again :-)

On 13 June 2016 at 06:21, Cole Robinson <crobinso at 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

>       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>

I have changed the libvirt to 1.3.5 now, also add the pci to net-device xml
 <address type='pci'/>,then use the virsh to boot the VM,the total xml file

After booting, the eth0 device disappear(eth0 occur when the address is
but I can find another net-device, also it can't work for dhcp:
2: enp2s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP group default qlen 1000
    link/ether 52:54:00:0d:25:26 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:fe0d:2526/64 scope link
       valid_lft forever preferred_lft forever
Running lspci:
02:01.0 Ethernet controller: Red Hat, Inc Virtio network device

My question is:
1. I use Debian 8 AArch64 as the Guest OS, do you think the virtio-pci for
net-device works is OK ?

2. If I change the disk address-type to pci(Libvirt pass the virtio pci
parameters to Qemu for disk device), but I can't boot
the VM. Does Qemu not support virtio pci for  disk device in AArch64?

Big Big Thanks~

> But there isn't currently any switch to say 'always give me virtio-pci
> instead
> of virtio-mmio'
> - Cole
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160817/fe1382d4/attachment-0001.htm>

More information about the libvir-list mailing list