[libvirt] Question about virtio-pci in Aarch64

Guido Günther agx at sigxcpu.org
Fri Aug 19 08:27:52 UTC 2016


On Wed, Aug 17, 2016 at 03:51:47PM +0200, Andrea Bolognani wrote:
> On Wed, 2016-08-17 at 09:18 -0400, Cole Robinson wrote:
> > > I have changed the libvirt to 1.3.5 now, also add the pci to net-device xml like: 
> > >  <address type='pci'/>,then use the virsh to boot the VM,the total xml file is:
> > >  https://paste.fedoraproject.org/409534/71434141/
> > > 
> > > After booting, the eth0 device disappear(eth0 occur when the address is
> > > virtio-mmio),
> > > 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 ?
>> > My guess is that the support isn't complete. Last I checked Fedora doesn't
> > even work with aarch64 virtio-pci + uefi, because it requires some kernel
> > changes that haven't been fully upstreamed yet. But that was several months
> > ago... There may be a way to work around it nowadays but I don't personally
> > know. You may want to test with either RHELSA if you have a copy, or linaro
> > images.
>> > > 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?
>> > That should work fine in my testing with RHELSA, so I don't think it's a
> > libvirt or qemu limitation. Probably the guest OS + UEFI.
> 
> Looks like Debian 8.5 simply doesn't include virtio-pci
> support:
> 
>   $ lsinitramfs /boot/initrd.img | grep virtio
>   lib/modules/3.16.0-4-arm64/kernel/drivers/scsi/virtio_scsi.ko
>   lib/modules/3.16.0-4-arm64/kernel/drivers/block/virtio_blk.ko
>   lib/modules/3.16.0-4-arm64/kernel/drivers/virtio
>   lib/modules/3.16.0-4-arm64/kernel/drivers/virtio/virtio_ring.ko
>   lib/modules/3.16.0-4-arm64/kernel/drivers/virtio/virtio_mmio.ko
>   lib/modules/3.16.0-4-arm64/kernel/drivers/virtio/virtio.ko
>   lib/modules/3.16.0-4-arm64/kernel/drivers/net/virtio_net.ko
> 
>   $ modprobe virtio-pci
>   modprobe: FATAL: Module virtio-pci not found.
> 
> I think kernel 3.16.0 is simply too old.

According to the changelog it has been enabled in 3.14.7-1 on all architectures:

    http://metadata.ftp-master.debian.org/changelogs//main/l/linux/stable_changelog

Cheers,
 -- Guido




More information about the libvir-list mailing list