diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml
new file mode 100644
index 0000000000..143756dbff
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-stateless.x86_64-latest.xml
@@ -0,0 +1,35 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+
+
+
+
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.xml
new file mode 100644
index 0000000000..24e4de6fc6
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-aarch64.aarch64-latest.xml
@@ -0,0 +1,31 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+ /usr/share/AAVMF/AAVMF_CODE.fd
+ /path/to/guest_VARS.fd
+
+
+
+
+
+
+
+ cortex-a15
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-aarch64
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.xml
new file mode 100644
index 0000000000..2a36c46737
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-acpi-q35.x86_64-latest.xml
@@ -0,0 +1,36 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+ /usr/share/OVMF/OVMF_CODE.fd
+ /path/to/guest_VARS.fd
+
+
+
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.xml
new file mode 100644
index 0000000000..414c1d6611
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-noacpi-aarch64.aarch64-latest.xml
@@ -0,0 +1,30 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+ /usr/share/AAVMF/AAVMF_CODE.fd
+ /path/to/guest_VARS.fd
+
+
+
+
+
+
+ cortex-a15
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-aarch64
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-latest.xml
new file mode 100644
index 0000000000..3b79af418a
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-nvram-template.x86_64-latest.xml
@@ -0,0 +1,32 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+ /usr/share/OVMF/OVMF_CODE.fd
+ /var/lib/libvirt/qemu/nvram/guest_VARS.fd
+
+
+
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-implicit.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-implicit.x86_64-latest.xml
new file mode 100644
index 0000000000..3411e337e8
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw-implicit.x86_64-latest.xml
@@ -0,0 +1,31 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+ /path/to/guest_BOTH.fd
+
+
+
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-rw.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw.x86_64-latest.xml
new file mode 100644
index 0000000000..94ceb88b49
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-rw.x86_64-latest.xml
@@ -0,0 +1,31 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+ /path/to/guest_BOTH.fd
+
+
+
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-secure.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-secure.x86_64-latest.xml
new file mode 100644
index 0000000000..cd7de76034
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-secure.x86_64-latest.xml
@@ -0,0 +1,37 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+ /usr/share/OVMF/OVMF_CODE.secboot.fd
+ /path/to/guest_VARS.fd
+
+
+
+
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-efi-stateless.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-efi-stateless.x86_64-latest.xml
new file mode 100644
index 0000000000..cb29b373d2
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-efi-stateless.x86_64-latest.xml
@@ -0,0 +1,31 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+ /usr/share/OVMF/OVMF_CODE.fd
+
+
+
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-noefi-acpi-q35.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-noefi-acpi-q35.x86_64-latest.xml
new file mode 100644
index 0000000000..813ebbe7bb
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-noefi-acpi-q35.x86_64-latest.xml
@@ -0,0 +1,34 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+
+
+
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-noefi-noacpi-aarch64.aarch64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-noefi-noacpi-aarch64.aarch64-latest.xml
new file mode 100644
index 0000000000..5deb68d4f3
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-noefi-noacpi-aarch64.aarch64-latest.xml
@@ -0,0 +1,28 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+
+
+
+
+
+
+ cortex-a15
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-aarch64
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/firmware-manual-noefi-noacpi-q35.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-manual-noefi-noacpi-q35.x86_64-latest.xml
new file mode 100644
index 0000000000..13ada385ea
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/firmware-manual-noefi-noacpi-q35.x86_64-latest.xml
@@ -0,0 +1,31 @@
+
+ guest
+ 63840878-0deb-4095-97e6-fc444d9bc9fa
+ 1048576
+ 1048576
+ 1
+
+ hvm
+
+
+
+ qemu64
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index b91d764890..52be4ec8fd 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -944,13 +944,26 @@ mymain(void)
DO_TEST_CAPS_LATEST("firmware-manual-bios");
DO_TEST_CAPS_LATEST("firmware-manual-bios-stateless");
DO_TEST_CAPS_LATEST("firmware-manual-efi");
+ DO_TEST_CAPS_LATEST("firmware-manual-efi-rw");
+ DO_TEST_CAPS_LATEST("firmware-manual-efi-rw-implicit");
+ DO_TEST_CAPS_LATEST("firmware-manual-efi-secure");
+ DO_TEST_CAPS_LATEST("firmware-manual-efi-stateless");
+ DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-template");
DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-iscsi");
DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-network-nbd");
DO_TEST_CAPS_LATEST("firmware-manual-efi-nvram-file");
+ DO_TEST_CAPS_ARCH_LATEST("firmware-manual-efi-acpi-aarch64", "aarch64");
+ DO_TEST_CAPS_LATEST("firmware-manual-efi-acpi-q35");
+ DO_TEST_CAPS_ARCH_LATEST("firmware-manual-efi-noacpi-aarch64", "aarch64");
+ DO_TEST_CAPS_LATEST("firmware-manual-noefi-acpi-q35");
+ DO_TEST_CAPS_ARCH_LATEST("firmware-manual-noefi-noacpi-aarch64", "aarch64");
+ DO_TEST_CAPS_LATEST("firmware-manual-noefi-noacpi-q35");
+
DO_TEST_CAPS_LATEST("firmware-auto-bios");
DO_TEST_CAPS_LATEST("firmware-auto-bios-stateless");
DO_TEST_CAPS_LATEST("firmware-auto-efi");
+ DO_TEST_CAPS_LATEST("firmware-auto-efi-stateless");
DO_TEST_CAPS_LATEST("firmware-auto-efi-nvram");
DO_TEST_CAPS_LATEST("firmware-auto-efi-loader-secure");
DO_TEST_CAPS_LATEST("firmware-auto-efi-secboot");