]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Use virtio network device for aarch64/virt
authorOleg Strikov <oleg.strikov@canonical.com>
Fri, 14 Feb 2014 14:09:00 +0000 (18:09 +0400)
committerCole Robinson <crobinso@redhat.com>
Wed, 19 Feb 2014 15:46:10 +0000 (10:46 -0500)
This patch changes network device type used by default from rtl8139
to virtio when architecture type is aarch64 and machine type is virt.
Qemu doesn't support any other machine types for aarch64 right now and
we can't make any other aarch64-specific tuning in this function yet.

Signed-off-by: Oleg Strikov <oleg.strikov@canonical.com>
src/qemu/qemu_domain.c
tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-default-nic.args [new file with mode: 0644]
tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-default-nic.xml [new file with mode: 0644]
tests/qemuxml2argvtest.c

index a788cf0742aab513e46fb2f974e1d99940bfaad6..bad63c523887210866842a3439e9ba24568a8f0c 100644 (file)
@@ -818,7 +818,8 @@ qemuDomainDefaultNetModel(const virDomainDef *def)
         def->os.arch == VIR_ARCH_S390X)
         return "virtio";
 
-    if (def->os.arch == VIR_ARCH_ARMV7L) {
+    if (def->os.arch == VIR_ARCH_ARMV7L ||
+        def->os.arch == VIR_ARCH_AARCH64) {
         if (STREQ(def->os.machine, "versatilepb"))
             return "smc91c111";
 
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-default-nic.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-default-nic.args
new file mode 100644 (file)
index 0000000..d4d403b
--- /dev/null
@@ -0,0 +1,6 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-aarch64 -S -M virt -m 1024 -smp 1 -nographic \
+-nodefconfig -nodefaults -monitor unix:/tmp/test-monitor,server,nowait \
+-boot c -kernel /aarch64.kernel -initrd /aarch64.initrd -append console=ttyAMA0 \
+-usb -device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 \
+-net user,vlan=0,name=hostnet0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-default-nic.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-default-nic.xml
new file mode 100644 (file)
index 0000000..868de94
--- /dev/null
@@ -0,0 +1,22 @@
+<domain type="qemu">
+  <name>aarch64-virt-default-nic</name>
+  <uuid>6ba410c5-1e5c-4d57-bee7-2228e7ffa32f</uuid>
+  <memory>1048576</memory>
+  <currentMemory>1048576</currentMemory>
+  <vcpu>1</vcpu>
+  <features>
+    <acpi/>
+  </features>
+  <os>
+    <type arch="aarch64" machine="virt">hvm</type>
+    <kernel>/aarch64.kernel</kernel>
+    <initrd>/aarch64.initrd</initrd>
+    <cmdline>console=ttyAMA0</cmdline>
+  </os>
+  <devices>
+    <emulator>/usr/bin/qemu-system-aarch64</emulator>
+    <interface type='user'>
+      <mac address='52:54:00:09:a4:37'/>
+    </interface>
+  </devices>
+</domain>
index 23b56524d03c69c09275c40909e74031d1a6cc39..55548513d5d9a6e690b0ccbd16642c0052f560f5 100644 (file)
@@ -1338,6 +1338,9 @@ mymain(void)
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
+    DO_TEST("aarch64-virt-default-nic",
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE_VIRTIO_MMIO);
 
     DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY);
     DO_TEST("kvm-pit-delay", QEMU_CAPS_NO_KVM_PIT);