- Make sure aarch64 host-passthrough works correctly - Make sure libvirt doesn't choke on cpu model=host, which is what virt-install/virt-manager were incorrectly specifying up until recently. --- .../qemuxml2argv-aarch64-cpu-model-host.args | 1 + .../qemuxml2argv-aarch64-cpu-model-host.xml | 28 ++++++++++++++++++++++ .../qemuxml2argv-aarch64-cpu-passthrough.args | 1 + .../qemuxml2argv-aarch64-cpu-passthrough.xml | 27 +++++++++++++++++++++ tests/qemuxml2argvtest.c | 6 +++++ .../qemuxml2argv-aarch64-cpu-passthrough.xml | 27 +++++++++++++++++++++ tests/qemuxml2xmltest.c | 2 ++ 7 files changed, 92 insertions(+) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2argv-aarch64-cpu-passthrough.xml diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.args new file mode 100644 index 0000000..802ea11 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.args @@ -0,0 +1 @@ +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/bin/qemu-system-aarch64 -S -M virt -cpu host -m 1024 -smp 1 -nographic -nodefconfig -nodefaults -monitor unix:/tmp/test-monitor,server,nowait -boot c -usb -drive file=/aarch64.raw,if=none,id=drive-virtio-disk0 -device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \ No newline at end of file diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.xml new file mode 100644 index 0000000..53d528f --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.xml @@ -0,0 +1,28 @@ +<domain type='kvm'> + <name>aarch64test</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='aarch64' machine='virt'>hvm</type> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + <pae/> + </features> + <cpu mode='host-passthrough'/> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>restart</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <disk type='file' device='disk'> + <source file='/aarch64.raw'/> + <target dev='vda' bus='virtio'/> + </disk> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args new file mode 100644 index 0000000..802ea11 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args @@ -0,0 +1 @@ +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/bin/qemu-system-aarch64 -S -M virt -cpu host -m 1024 -smp 1 -nographic -nodefconfig -nodefaults -monitor unix:/tmp/test-monitor,server,nowait -boot c -usb -drive file=/aarch64.raw,if=none,id=drive-virtio-disk0 -device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \ No newline at end of file diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.xml new file mode 100644 index 0000000..4cdf387 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.xml @@ -0,0 +1,27 @@ +<domain type="kvm"> + <name>aarch64test</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory>1048576</memory> + <currentMemory>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch="aarch64" machine="virt">hvm</type> + </os> + <features> + <acpi/> + <apic/> + <pae/> + </features> + <cpu mode='host-passthrough'/> + <clock offset="utc"/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>restart</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <disk type='file' device='disk'> + <source file='/aarch64.raw'/> + <target dev='vda' bus='virtio'/> + </disk> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 1fe445a..055ceee 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1525,6 +1525,12 @@ mymain(void) DO_TEST("aarch64-virt-default-nic", QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO); + DO_TEST("aarch64-cpu-passthrough", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, + QEMU_CAPS_CPU_HOST, QEMU_CAPS_KVM); + DO_TEST("aarch64-cpu-model-host", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, + QEMU_CAPS_CPU_HOST, QEMU_CAPS_KVM); DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY); DO_TEST("kvm-pit-delay", QEMU_CAPS_NO_KVM_PIT); diff --git a/tests/qemuxml2xmloutdata/qemuxml2argv-aarch64-cpu-passthrough.xml b/tests/qemuxml2xmloutdata/qemuxml2argv-aarch64-cpu-passthrough.xml new file mode 100644 index 0000000..4cdf387 --- /dev/null +++ b/tests/qemuxml2xmloutdata/qemuxml2argv-aarch64-cpu-passthrough.xml @@ -0,0 +1,27 @@ +<domain type="kvm"> + <name>aarch64test</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory>1048576</memory> + <currentMemory>1048576</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch="aarch64" machine="virt">hvm</type> + </os> + <features> + <acpi/> + <apic/> + <pae/> + </features> + <cpu mode='host-passthrough'/> + <clock offset="utc"/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>restart</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <disk type='file' device='disk'> + <source file='/aarch64.raw'/> + <target dev='vda' bus='virtio'/> + </disk> + </devices> +</domain> diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index bce04b2..45464cc 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -612,6 +612,8 @@ mymain(void) DO_TEST("memory-hotplug-nonuma"); DO_TEST("memory-hotplug-dimm"); + DO_TEST("aarch64-cpu-model-host"); + virObjectUnref(driver.caps); virObjectUnref(driver.xmlopt); -- 2.3.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list