[PATCH] aarch64: launch: direct: Use virtio-pci devices.
As discussed yesterday: https://www.redhat.com/archives/libguestfs/2017-January/msg00040.html qemu and the kernel now support virtio-pci on aarch64. It turns out that no changes are required for the libvirt backend, since with libvirt 3.0.0 the same XML will switch to using virtio-pci over virtio-mmio. I have tested this on Fedora 25 with a self-compiled libvirt 3.0.0 rc2. However for the direct backend we do need a small change to stop using virtio-mmio devices. In fact this simply makes aarch64 more like x86_64. I have mostly tested this by running 'make check-release' but I found a few (unconnected) problems with that so I'm still running the checks on this one. However it's a pretty simple and obvious change. I did check that the max-disks test passes. Rich.
qemu-system-aarch64 -M virt now supports virtio-pci devices. These are considerably faster than virtio-mmio so use them by default. --- src/guestfs-internal.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h index 40dad35..24a248e 100644 --- a/src/guestfs-internal.h +++ b/src/guestfs-internal.h @@ -145,17 +145,17 @@ /* Differences in device names on ARM (virtio-mmio) vs normal * hardware with PCI. */ -#if !defined(__arm__) && !defined(__aarch64__) +#if !defined(__arm__) #define VIRTIO_BLK "virtio-blk-pci" #define VIRTIO_SCSI "virtio-scsi-pci" #define VIRTIO_SERIAL "virtio-serial-pci" #define VIRTIO_NET "virtio-net-pci" -#else /* ARM */ +#else /* ARMv7 */ #define VIRTIO_BLK "virtio-blk-device" #define VIRTIO_SCSI "virtio-scsi-device" #define VIRTIO_SERIAL "virtio-serial-device" #define VIRTIO_NET "virtio-net-device" -#endif /* ARM */ +#endif /* ARMv7 */ /* Machine types. */ #ifdef __arm__ -- 2.9.3
participants (1)
-
Richard W.M. Jones