Make sure every combination of ACPI and UEFI works, or fails to work, as expected. --- .../qemuxml2argv-aarch64-acpi-nouefi.args | 22 +++++++++++++++++++++ .../qemuxml2argv-aarch64-acpi-nouefi.xml | 22 +++++++++++++++++++++ .../qemuxml2argv-aarch64-acpi-uefi.args | 22 +++++++++++++++++++++ .../qemuxml2argv-aarch64-acpi-uefi.xml | 21 ++++++++++++++++++++ .../qemuxml2argv-aarch64-noacpi-nouefi.args | 22 +++++++++++++++++++++ .../qemuxml2argv-aarch64-noacpi-nouefi.xml | 19 ++++++++++++++++++ .../qemuxml2argv-aarch64-noacpi-uefi.args | 23 ++++++++++++++++++++++ .../qemuxml2argv-aarch64-noacpi-uefi.xml | 18 +++++++++++++++++ .../qemuxml2argv-q35-acpi-nouefi.args | 21 ++++++++++++++++++++ .../qemuxml2argv-q35-acpi-nouefi.xml | 22 +++++++++++++++++++++ .../qemuxml2argv-q35-acpi-uefi.args | 22 +++++++++++++++++++++ .../qemuxml2argv-q35-acpi-uefi.xml | 21 ++++++++++++++++++++ .../qemuxml2argv-q35-noacpi-nouefi.args | 22 +++++++++++++++++++++ .../qemuxml2argv-q35-noacpi-nouefi.xml | 19 ++++++++++++++++++ .../qemuxml2argv-q35-noacpi-uefi.xml | 18 +++++++++++++++++ tests/qemuxml2argvtest.c | 14 +++++++++++++ 16 files changed, 328 insertions(+) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-nouefi.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-nouefi.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-uefi.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-uefi.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-nouefi.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-nouefi.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-uefi.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-uefi.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-uefi.xml diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-nouefi.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-nouefi.args new file mode 100644 index 0000000..5d9e1fb --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-nouefi.args @@ -0,0 +1,22 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-aarch64 \ +-name guest \ +-S \ +-M virt \ +-cpu host \ +-m 1024 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \ +-nographic \ +-nodefconfig \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest/monitor.sock,server,nowait \ +-boot c \ +-kernel /var/lib/libvirt/images/guest.vmlinux \ +-initrd /var/lib/libvirt/images/guest.initramfs \ +-append 'console=ttyAMA0 rw root=/dev/vda rootwait' diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-nouefi.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-nouefi.xml new file mode 100644 index 0000000..cda1b1b --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-nouefi.xml @@ -0,0 +1,22 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='aarch64' machine='virt'>hvm</type> + <kernel>/var/lib/libvirt/images/guest.vmlinuz</kernel> + <initrd>/var/lib/libvirt/images/guest.initramfs</initrd> + <cmdline>console=ttyAMA0 rw root=/dev/vda rootwait</cmdline> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom'> + <model>cortex-a57</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-uefi.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-uefi.args new file mode 100644 index 0000000..36371ba --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-uefi.args @@ -0,0 +1,22 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-aarch64 \ +-name guest \ +-S \ +-M virt \ +-cpu cortex-a57 \ +-drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,\ +readonly=on \ +-drive file=/var/lib/libvirt/qemu/nvram/guest_VARS.fd,if=pflash,format=raw,\ +unit=1 \ +-m 1024 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest/monitor.sock,server,nowait \ +-boot c diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-uefi.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-uefi.xml new file mode 100644 index 0000000..5de2eb5 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-acpi-uefi.xml @@ -0,0 +1,21 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='aarch64' machine='virt'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> + <nvram>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom'> + <model>cortex-a57</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-nouefi.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-nouefi.args new file mode 100644 index 0000000..301eda8 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-nouefi.args @@ -0,0 +1,22 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-aarch64 \ +-name guest \ +-S \ +-M virt \ +-cpu cortex-a57 \ +-m 1024 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest/monitor.sock,server,nowait \ +-no-acpi \ +-boot c \ +-kernel /var/lib/libvirt/images/guest.vmlinuz \ +-initrd /var/lib/libvirt/images/guest.initramfs \ +-append 'console=ttyAMA0 rw root=/dev/vda rootwait' diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-nouefi.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-nouefi.xml new file mode 100644 index 0000000..e8551ed --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-nouefi.xml @@ -0,0 +1,19 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='aarch64' machine='virt'>hvm</type> + <kernel>/var/lib/libvirt/images/guest.vmlinuz</kernel> + <initrd>/var/lib/libvirt/images/guest.initramfs</initrd> + <cmdline>console=ttyAMA0 rw root=/dev/vda rootwait</cmdline> + </os> + <cpu mode='custom'> + <model>cortex-a57</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-uefi.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-uefi.args new file mode 100644 index 0000000..c62de75 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-uefi.args @@ -0,0 +1,23 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-aarch64 \ +-name guest \ +-S \ +-M virt \ +-cpu cortex-a57 \ +-drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,\ +readonly=on \ +-drive file=/var/lib/libvirt/qemu/nvram/guest_VARS.fd,if=pflash,format=raw,\ +unit=1 \ +-m 1024 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest/monitor.sock,server,nowait \ +-no-acpi \ +-boot c diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-uefi.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-uefi.xml new file mode 100644 index 0000000..e66b805 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-noacpi-uefi.xml @@ -0,0 +1,18 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='aarch64' machine='virt'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader> + <nvram>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + </os> + <cpu mode='custom'> + <model>cortex-a57</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.args b/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.args new file mode 100644 index 0000000..eea422d --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.args @@ -0,0 +1,21 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-x86_64 \ +-name guest \ +-S \ +-M q35 \ +-cpu Haswell \ +-m 1024 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest/monitor.sock,server,nowait \ +-boot c \ +-kernel /var/lib/libvirt/images/guest.vmlinuz \ +-initrd /var/lib/libvirt/images/guest.initramfs \ +-append 'rw root=/dev/vda rootwait' diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.xml b/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.xml new file mode 100644 index 0000000..7d735f9 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.xml @@ -0,0 +1,22 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='q35'>hvm</type> + <kernel>/var/lib/libvirt/images/guest.vmlinuz</kernel> + <initrd>/var/lib/libvirt/images/guest.initramfs</initrd> + <cmdline>rw root=/dev/vda rootwait</cmdline> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom'> + <model>Haswell</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.args b/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.args new file mode 100644 index 0000000..9dfa583 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.args @@ -0,0 +1,22 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-x86_64 \ +-name guest \ +-S \ +-M q35 \ +-cpu Haswell \ +-drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,\ +readonly=on \ +-drive file=/var/lib/libvirt/qemu/nvram/guest_VARS.fd,if=pflash,format=raw,\ +unit=1 \ +-m 1024 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest/monitor.sock,server,nowait \ +-boot c diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.xml b/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.xml new file mode 100644 index 0000000..4eb5a46 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.xml @@ -0,0 +1,21 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='q35'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + </os> + <features> + <acpi/> + </features> + <cpu mode='custom'> + <model>Haswell</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.args b/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.args new file mode 100644 index 0000000..ba0f59c --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.args @@ -0,0 +1,22 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-x86_64 \ +-name guest \ +-S \ +-M q35 \ +-cpu Haswell \ +-m 1024 \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/lib/domain--1-guest/monitor.sock,server,nowait \ +-no-acpi \ +-boot c \ +-kernel /var/lib/libvirt/images/guest.vmlinuz \ +-initrd /var/lib/libvirt/images/guest.initramfs \ +-append 'rw root=/dev/vda rootwait' diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.xml b/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.xml new file mode 100644 index 0000000..163b424 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.xml @@ -0,0 +1,19 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='q35'>hvm</type> + <kernel>/var/lib/libvirt/images/guest.vmlinuz</kernel> + <initrd>/var/lib/libvirt/images/guest.initramfs</initrd> + <cmdline>rw root=/dev/vda rootwait</cmdline> + </os> + <cpu mode='custom'> + <model>Haswell</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-uefi.xml b/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-uefi.xml new file mode 100644 index 0000000..91c83c8 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-uefi.xml @@ -0,0 +1,18 @@ +<domain type='qemu'> + <name>guest</name> + <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='q35'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader> + <nvram>/var/lib/libvirt/qemu/nvram/guest_VARS.fd</nvram> + </os> + <cpu mode='custom'> + <model>Haswell</model> + </cpu> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 731b793..ad68556 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -757,6 +757,13 @@ mymain(void) QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACHINE_SMM_OPT, QEMU_CAPS_VIRTIO_SCSI); + + /* Make sure all combinations of ACPI and UEFI behave as expected */ + DO_TEST("q35-acpi-uefi", NONE); + DO_TEST_PARSE_ERROR("q35-noacpi-uefi", NONE); + DO_TEST("q35-noacpi-nouefi", NONE); + DO_TEST("q35-acpi-nouefi", NONE); + DO_TEST("clock-utc", QEMU_CAPS_NODEFCONFIG); DO_TEST("clock-localtime", NONE); DO_TEST("clock-localtime-basis-localtime", QEMU_CAPS_RTC); @@ -2318,6 +2325,13 @@ mymain(void) DO_TEST_FAILURE("aarch64-kvm-32-on-64", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, QEMU_CAPS_KVM); + + /* Make sure all combinations of ACPI and UEFI behave as expected */ + DO_TEST("aarch64-acpi-uefi", NONE); + DO_TEST("aarch64-noacpi-uefi", NONE); + DO_TEST("aarch64-noacpi-nouefi", NONE); + DO_TEST_PARSE_ERROR("aarch64-acpi-nouefi", NONE); + qemuTestSetHostArch(driver.caps, VIR_ARCH_NONE); DO_TEST("kvm-pit-delay", QEMU_CAPS_KVM_PIT_TICK_POLICY); -- 2.7.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list