Blob Blame History Raw
From 2281fa3a645d077431375a77eacf53ba878101b7 Mon Sep 17 00:00:00 2001
Message-Id: <2281fa3a645d077431375a77eacf53ba878101b7@dist-git>
From: Andrea Bolognani <abologna@redhat.com>
Date: Tue, 4 Apr 2017 14:59:32 +0200
Subject: [PATCH] tests: Test ACPI, UEFI requirements

Make sure every combination of ACPI and UEFI works, or fails to
work, as expected.

(cherry picked from commit deb38c4503597a8e0b3e74c6112ef28a15b072c8)

Downstream changes:

 * tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-nouefi.args,
   tests/qemuxml2argvdata/qemuxml2argv-q35-acpi-uefi.args,
   tests/qemuxml2argvdata/qemuxml2argv-q35-noacpi-nouefi.args:

   - add RTM and HLE flags to Haswell CPU so that the test
     suite can pass.

Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1429509

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
 .../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 000000000..5d9e1fb7c
--- /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 000000000..cda1b1bdc
--- /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 000000000..36371ba02
--- /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 000000000..5de2eb5d3
--- /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 000000000..301eda89e
--- /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 000000000..e8551ed2d
--- /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 000000000..c62de750f
--- /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 000000000..e66b805da
--- /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 000000000..531520b0a
--- /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,+rtm,+hle \
+-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 000000000..7d735f99c
--- /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 000000000..4dd99676e
--- /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,+rtm,+hle \
+-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 000000000..4eb5a466e
--- /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 000000000..4d7cdfbe3
--- /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,+rtm,+hle \
+-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 000000000..163b424ea
--- /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 000000000..91c83c808
--- /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 5c0e1e8ab..cfd6dcd55 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);
@@ -2316,6 +2323,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.12.2