Now that everything else is in place, we can finally add the
firmware descriptors for the edk2 builds that use the uefi-vars
QEMU device and JSON format NVRAM templates.

Several existing test cases are affected by this.

The firmware-auto-efi-format-nvram-json test case can now succeed,
since the only thing preventing it from doing so was that a
suitable firmware build could not be found.

The firmware-manual-efi-qemuvars-aarch64 test case also succeeds,
because libvirt now picks a UEFI firmware for it and that
satisfies the requirement for using ACPI on the architecture.

Finally, the firmware-auto-efi-enrolled-keys-aarch64 test case
succeeds in its default variant, but its QEMU 8.2.0 variant starts
failing in a different way than before. Since libvirt now picks
the firmware build that requires use of the uefi-vars QEMU device,
and QEMU 8.2.0 is too old to have it, we get the corresponding
error message. Note that the firmware-auto-efi-format-nvram-json
test case, in its QEMU 8.2.0 variant, had already started failing
with the very same error message several commits earlier.

https://issues.redhat.com/browse/RHEL-82645

DONOTMERGE: The firmware descriptors have not been added to the
            Fedora edk2 package yet.

Signed-off-by: Andrea Bolognani <[email protected]>
---
 ...70-edk2-ovmf-qemuvars-x64-sb-enrolled.json | 35 +++++++++++++++++++
 .../70-edk2-qemuvars-aarch64-sb-enrolled.json | 33 +++++++++++++++++
 tests/qemufirmwaretest.c                      | 10 ++++--
 ...fi-enrolled-keys-aarch64.aarch64-8.2.0.err |  2 +-
 ...-enrolled-keys-aarch64.aarch64-latest.args | 31 ++++++++++++++++
 ...i-enrolled-keys-aarch64.aarch64-latest.err |  1 -
 ...i-enrolled-keys-aarch64.aarch64-latest.xml |  4 ++-
 ...o-efi-format-nvram-json.x86_64-latest.args | 34 ++++++++++++++++++
 ...to-efi-format-nvram-json.x86_64-latest.err |  1 -
 ...to-efi-format-nvram-json.x86_64-latest.xml |  7 +++-
 ...l-efi-qemuvars-aarch64.aarch64-latest.args | 32 +++++++++++++++++
 ...al-efi-qemuvars-aarch64.aarch64-latest.err |  1 -
 ...l-efi-qemuvars-aarch64.aarch64-latest.xml} | 11 ++++--
 ...-manual-efi-qemuvars-q35.x86_64-latest.xml | 10 ++++--
 tests/qemuxmlconftest.c                       |  8 ++---
 15 files changed, 202 insertions(+), 18 deletions(-)
 create mode 100644 
tests/qemufirmwaredata/usr/share/qemu/firmware/70-edk2-ovmf-qemuvars-x64-sb-enrolled.json
 create mode 100644 
tests/qemufirmwaredata/usr/share/qemu/firmware/70-edk2-qemuvars-aarch64-sb-enrolled.json
 create mode 100644 
tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.args
 delete mode 100644 
tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.err
 create mode 100644 
tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.args
 delete mode 100644 
tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.err
 create mode 100644 
tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.args
 delete mode 100644 
tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.err
 rename 
tests/qemuxmlconfdata/{firmware-auto-efi-enrolled-keys-aarch64.aarch64-8.2.0.xml
 => firmware-manual-efi-qemuvars-aarch64.aarch64-latest.xml} (64%)

diff --git 
a/tests/qemufirmwaredata/usr/share/qemu/firmware/70-edk2-ovmf-qemuvars-x64-sb-enrolled.json
 
b/tests/qemufirmwaredata/usr/share/qemu/firmware/70-edk2-ovmf-qemuvars-x64-sb-enrolled.json
new file mode 100644
index 0000000000..991c4340f8
--- /dev/null
+++ 
b/tests/qemufirmwaredata/usr/share/qemu/firmware/70-edk2-ovmf-qemuvars-x64-sb-enrolled.json
@@ -0,0 +1,35 @@
+{
+    "description": "OVMF for qemuvars, SB enabled, MS certs enrolled",
+    "interface-types": [
+        "uefi"
+    ],
+    "mapping": {
+        "device": "memory",
+        "mode" : "split",
+        "executable": {
+            "filename": "/usr/share/edk2/ovmf/OVMF.qemuvars.fd",
+            "format": "raw"
+        },
+        "nvram-template": {
+            "filename": "/usr/share/edk2/ovmf/OVMF_VARS.qemuvars.json",
+            "format": "json"
+        }
+    },
+    "targets": [
+        {
+            "architecture": "x86_64",
+            "machines": [
+                "pc-q35-*"
+            ]
+        }
+    ],
+    "features": [
+        "acpi-s3",
+        "enrolled-keys",
+        "secure-boot",
+        "host-uefi-vars",
+        "verbose-dynamic"
+    ],
+    "tags": [
+    ]
+}
diff --git 
a/tests/qemufirmwaredata/usr/share/qemu/firmware/70-edk2-qemuvars-aarch64-sb-enrolled.json
 
b/tests/qemufirmwaredata/usr/share/qemu/firmware/70-edk2-qemuvars-aarch64-sb-enrolled.json
new file mode 100644
index 0000000000..d03ff9e27b
--- /dev/null
+++ 
b/tests/qemufirmwaredata/usr/share/qemu/firmware/70-edk2-qemuvars-aarch64-sb-enrolled.json
@@ -0,0 +1,33 @@
+{
+    "description": "UEFI firmware for ARM64 virtual machines",
+    "interface-types": [
+        "uefi"
+    ],
+    "mapping": {
+        "device": "memory",
+        "mode" : "split",
+        "executable": {
+            "filename": "/usr/share/edk2/aarch64/QEMU_EFI.qemuvars.fd",
+            "format": "raw"
+        },
+        "nvram-template": {
+            "filename": "/usr/share/edk2/aarch64/vars-template-qemuvars.json",
+            "format": "json"
+        }
+    },
+    "targets": [
+        {
+            "architecture": "aarch64",
+            "machines": [
+                "virt-*"
+            ]
+        }
+    ],
+    "features": [
+        "enrolled-keys",
+        "secure-boot",
+        "host-uefi-vars"
+    ],
+    "tags": [
+    ]
+}
diff --git a/tests/qemufirmwaretest.c b/tests/qemufirmwaretest.c
index a4fb5c9b9c..6a537981e8 100644
--- a/tests/qemufirmwaretest.c
+++ b/tests/qemufirmwaretest.c
@@ -101,6 +101,8 @@ testFWPrecedence(const void *opaque G_GNUC_UNUSED)
         SYSCONFDIR "/qemu/firmware/59-combined.json",
         PREFIX "/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json",
         PREFIX "/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json",
+        PREFIX 
"/share/qemu/firmware/70-edk2-ovmf-qemuvars-x64-sb-enrolled.json",
+        PREFIX 
"/share/qemu/firmware/70-edk2-qemuvars-aarch64-sb-enrolled.json",
         PREFIX "/share/qemu/firmware/90-combined.json",
         PREFIX "/share/qemu/firmware/91-bios.json",
         PREFIX "/share/qemu/firmware/93-invalid.json",
@@ -280,6 +282,8 @@ mymain(void)
     DO_PARSE_TEST("usr/share/qemu/firmware/53-edk2-aarch64-verbose-raw.json");
     DO_PARSE_TEST("usr/share/qemu/firmware/60-edk2-ovmf-x64-amdsev.json");
     DO_PARSE_TEST("usr/share/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json");
+    
DO_PARSE_TEST("usr/share/qemu/firmware/70-edk2-ovmf-qemuvars-x64-sb-enrolled.json");
+    
DO_PARSE_TEST("usr/share/qemu/firmware/70-edk2-qemuvars-aarch64-sb-enrolled.json");
     DO_PARSE_TEST("usr/share/qemu/firmware/90-combined.json");
     DO_PARSE_TEST("usr/share/qemu/firmware/91-bios.json");
     DO_PARSE_FAILURE_TEST("usr/share/qemu/firmware/93-invalid.json");
@@ -319,7 +323,8 @@ mymain(void)
                       
"/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd:"
                       "/usr/share/edk2/ovmf/OVMF.combined.fd:NULL:"
                       "/usr/share/edk2/ovmf/OVMF.amdsev.fd:NULL:"
-                      "/usr/share/edk2/ovmf/OVMF.inteltdx.secboot.fd:NULL",
+                      "/usr/share/edk2/ovmf/OVMF.inteltdx.secboot.fd:NULL:"
+                      
"/usr/share/edk2/ovmf/OVMF.qemuvars.fd:/usr/share/edk2/ovmf/OVMF_VARS.qemuvars.json",
                       VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS,
                       VIR_DOMAIN_OS_DEF_FIRMWARE_EFI);
     DO_SUPPORTED_TEST("pc-q35-3.1", VIR_ARCH_I686, false,
@@ -332,7 +337,8 @@ mymain(void)
                       
"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2:/usr/share/edk2/aarch64/vars-template-pflash.qcow2:"
                       
"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw:"
                       
"/usr/share/edk2/aarch64/QEMU_EFI-pflash.qcow2:/usr/share/edk2/aarch64/vars-template-pflash.qcow2:"
-                      
"/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw",
+                      
"/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw:"
+                      
"/usr/share/edk2/aarch64/QEMU_EFI.qemuvars.fd:/usr/share/edk2/aarch64/vars-template-qemuvars.json",
                       VIR_DOMAIN_OS_DEF_FIRMWARE_EFI);
     DO_SUPPORTED_TEST("virt", VIR_ARCH_RISCV64, false,
                       
"/usr/share/edk2/riscv/RISCV_VIRT_CODE.qcow2:/usr/share/edk2/riscv/RISCV_VIRT_VARS.qcow2",
diff --git 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-8.2.0.err
 
b/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-8.2.0.err
index 3edb2b3451..e64c2b21aa 100644
--- 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-8.2.0.err
+++ 
b/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-8.2.0.err
@@ -1 +1 @@
-operation failed: Unable to find 'efi' firmware that is compatible with the 
current configuration
+unsupported configuration: The uefi-vars device is not supported by this QEMU 
binary
diff --git 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.args
 
b/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.args
new file mode 100644
index 0000000000..d12949dbf2
--- /dev/null
+++ 
b/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.args
@@ -0,0 +1,31 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/var/lib/libvirt/qemu/domain--1-guest \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \
+XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \
+XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
+/usr/bin/qemu-system-aarch64 \
+-name guest=guest,debug-threads=on \
+-S \
+-object 
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}'
 \
+-machine 
virt-4.0,usb=off,gic-version=3,dump-guest-core=off,memory-backend=mach-virt.ram,acpi=on
 \
+-accel kvm \
+-bios /usr/share/edk2/aarch64/QEMU_EFI.qemuvars.fd \
+-m size=1048576k \
+-object 
'{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":1073741824}' \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-boot strict=on \
+-audiodev '{"id":"audio1","driver":"none"}' \
+-sandbox 
on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.err
 
b/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.err
deleted file mode 100644
index 3edb2b3451..0000000000
--- 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.err
+++ /dev/null
@@ -1 +0,0 @@
-operation failed: Unable to find 'efi' firmware that is compatible with the 
current configuration
diff --git 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.xml
 
b/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.xml
index e1b1417cbc..46ba916116 100644
--- 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.xml
+++ 
b/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-latest.xml
@@ -8,8 +8,10 @@
     <type arch='aarch64' machine='virt-4.0'>hvm</type>
     <firmware>
       <feature enabled='yes' name='enrolled-keys'/>
+      <feature enabled='yes' name='secure-boot'/>
     </firmware>
-    <loader format='raw'/>
+    <loader readonly='yes' type='rom' 
format='raw'>/usr/share/edk2/aarch64/QEMU_EFI.qemuvars.fd</loader>
+    <nvram template='/usr/share/edk2/aarch64/vars-template-qemuvars.json' 
templateFormat='json' 
format='json'>/var/lib/libvirt/qemu/nvram/guest.json</nvram>
     <boot dev='hd'/>
   </os>
   <features>
diff --git 
a/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.args 
b/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.args
new file mode 100644
index 0000000000..9a899c2a65
--- /dev/null
+++ 
b/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.args
@@ -0,0 +1,34 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/var/lib/libvirt/qemu/domain--1-guest \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \
+XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \
+XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=guest,debug-threads=on \
+-S \
+-object 
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}'
 \
+-machine pc-q35-8.2,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=on \
+-accel kvm \
+-cpu qemu64 \
+-bios /usr/share/edk2/ovmf/OVMF.qemuvars.fd \
+-m size=1048576k \
+-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-boot strict=on \
+-audiodev '{"id":"audio1","driver":"none"}' \
+-global ICH9-LPC.noreboot=off \
+-watchdog-action reset \
+-sandbox 
on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git 
a/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.err 
b/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.err
deleted file mode 100644
index 3edb2b3451..0000000000
--- 
a/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.err
+++ /dev/null
@@ -1 +0,0 @@
-operation failed: Unable to find 'efi' firmware that is compatible with the 
current configuration
diff --git 
a/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.xml 
b/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.xml
index cc7fdfad79..aaa4e37e7b 100644
--- 
a/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.xml
+++ 
b/tests/qemuxmlconfdata/firmware-auto-efi-format-nvram-json.x86_64-latest.xml
@@ -6,7 +6,12 @@
   <vcpu placement='static'>1</vcpu>
   <os firmware='efi'>
     <type arch='x86_64' machine='pc-q35-8.2'>hvm</type>
-    <nvram format='json'/>
+    <firmware>
+      <feature enabled='yes' name='enrolled-keys'/>
+      <feature enabled='yes' name='secure-boot'/>
+    </firmware>
+    <loader readonly='yes' type='rom' 
format='raw'>/usr/share/edk2/ovmf/OVMF.qemuvars.fd</loader>
+    <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.qemuvars.json' 
templateFormat='json' 
format='json'>/var/lib/libvirt/qemu/nvram/guest.json</nvram>
     <boot dev='hd'/>
   </os>
   <features>
diff --git 
a/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.args
 
b/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.args
new file mode 100644
index 0000000000..575ffdb42b
--- /dev/null
+++ 
b/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.args
@@ -0,0 +1,32 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/var/lib/libvirt/qemu/domain--1-guest \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \
+XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \
+XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
+/usr/bin/qemu-system-aarch64 \
+-name guest=guest,debug-threads=on \
+-S \
+-object 
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}'
 \
+-machine 
virt-4.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,acpi=on
 \
+-accel tcg \
+-cpu cortex-a15 \
+-bios /usr/share/edk2/aarch64/QEMU_EFI.qemuvars.fd \
+-m size=1048576k \
+-object 
'{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":1073741824}' \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-boot strict=on \
+-audiodev '{"id":"audio1","driver":"none"}' \
+-sandbox 
on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git 
a/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.err 
b/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.err
deleted file mode 100644
index 4fe79bdacf..0000000000
--- 
a/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.err
+++ /dev/null
@@ -1 +0,0 @@
-unsupported configuration: ACPI requires UEFI on this architecture
diff --git 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-8.2.0.xml
 b/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.xml
similarity index 64%
rename from 
tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-8.2.0.xml
rename to 
tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.xml
index e1b1417cbc..5d6d2dac9a 100644
--- 
a/tests/qemuxmlconfdata/firmware-auto-efi-enrolled-keys-aarch64.aarch64-8.2.0.xml
+++ 
b/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-aarch64.aarch64-latest.xml
@@ -1,4 +1,4 @@
-<domain type='kvm'>
+<domain type='qemu'>
   <name>guest</name>
   <uuid>63840878-0deb-4095-97e6-fc444d9bc9fa</uuid>
   <memory unit='KiB'>1048576</memory>
@@ -8,14 +8,19 @@
     <type arch='aarch64' machine='virt-4.0'>hvm</type>
     <firmware>
       <feature enabled='yes' name='enrolled-keys'/>
+      <feature enabled='yes' name='secure-boot'/>
     </firmware>
-    <loader format='raw'/>
+    <loader readonly='yes' type='rom' 
format='raw'>/usr/share/edk2/aarch64/QEMU_EFI.qemuvars.fd</loader>
+    <nvram template='/usr/share/edk2/aarch64/vars-template-qemuvars.json' 
templateFormat='json' format='json'>/path/to/guest.json</nvram>
     <boot dev='hd'/>
   </os>
   <features>
     <acpi/>
-    <gic version='3'/>
+    <gic version='2'/>
   </features>
+  <cpu mode='custom' match='exact' check='none'>
+    <model fallback='forbid'>cortex-a15</model>
+  </cpu>
   <clock offset='utc'/>
   <on_poweroff>destroy</on_poweroff>
   <on_reboot>restart</on_reboot>
diff --git 
a/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-q35.x86_64-latest.xml 
b/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-q35.x86_64-latest.xml
index 16cdac6c51..197530e5df 100644
--- a/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-q35.x86_64-latest.xml
+++ b/tests/qemuxmlconfdata/firmware-manual-efi-qemuvars-q35.x86_64-latest.xml
@@ -4,10 +4,14 @@
   <memory unit='KiB'>1048576</memory>
   <currentMemory unit='KiB'>1048576</currentMemory>
   <vcpu placement='static'>1</vcpu>
-  <os>
+  <os firmware='efi'>
     <type arch='x86_64' machine='pc-q35-10.0'>hvm</type>
-    <loader type='rom' 
format='raw'>/usr/share/edk2/ovmf/OVMF.qemuvars.fd</loader>
-    <nvram format='json'>/path/to/guest.json</nvram>
+    <firmware>
+      <feature enabled='yes' name='enrolled-keys'/>
+      <feature enabled='yes' name='secure-boot'/>
+    </firmware>
+    <loader readonly='yes' type='rom' 
format='raw'>/usr/share/edk2/ovmf/OVMF.qemuvars.fd</loader>
+    <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.qemuvars.json' 
templateFormat='json' format='json'>/path/to/guest.json</nvram>
     <boot dev='hd'/>
   </os>
   <features>
diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c
index 886e676d9e..e4d9fd2c07 100644
--- a/tests/qemuxmlconftest.c
+++ b/tests/qemuxmlconftest.c
@@ -1561,7 +1561,7 @@ mymain(void)
                                   ARG_END);
 
     DO_TEST_CAPS_LATEST("firmware-manual-efi-qemuvars-q35");
-    
DO_TEST_CAPS_ARCH_LATEST_PARSE_ERROR("firmware-manual-efi-qemuvars-aarch64", 
"aarch64");
+    DO_TEST_CAPS_ARCH_LATEST("firmware-manual-efi-qemuvars-aarch64", 
"aarch64");
     
DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-manual-efi-qemuvars-nvram-network-nbd");
 
     /* Make sure all combinations of ACPI and UEFI behave as expected */
@@ -1598,8 +1598,8 @@ mymain(void)
     DO_TEST_CAPS_LATEST("firmware-auto-efi-secboot");
     DO_TEST_CAPS_LATEST("firmware-auto-efi-no-secboot");
     DO_TEST_CAPS_LATEST("firmware-auto-efi-enrolled-keys");
-    
DO_TEST_CAPS_ARCH_LATEST_FAILURE("firmware-auto-efi-enrolled-keys-aarch64", 
"aarch64");
-    DO_TEST_CAPS_ARCH_VER_FAILURE("firmware-auto-efi-enrolled-keys-aarch64", 
"aarch64", "8.2.0");
+    DO_TEST_CAPS_ARCH_LATEST("firmware-auto-efi-enrolled-keys-aarch64", 
"aarch64");
+    
DO_TEST_CAPS_ARCH_VER_PARSE_ERROR("firmware-auto-efi-enrolled-keys-aarch64", 
"aarch64", "8.2.0");
     DO_TEST_CAPS_LATEST("firmware-auto-efi-no-enrolled-keys");
     
DO_TEST_CAPS_LATEST_PARSE_ERROR("firmware-auto-efi-enrolled-keys-no-secboot");
     DO_TEST_CAPS_LATEST("firmware-auto-efi-smm-off");
@@ -1630,7 +1630,7 @@ mymain(void)
     DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvramtemplate-qcow2");
     DO_TEST_CAPS_LATEST("firmware-auto-efi-format-mismatch");
     
DO_TEST_CAPS_LATEST_FAILURE("firmware-auto-efi-format-mismatch-nvramtemplate");
-    DO_TEST_CAPS_LATEST_FAILURE("firmware-auto-efi-format-nvram-json");
+    DO_TEST_CAPS_LATEST("firmware-auto-efi-format-nvram-json");
     DO_TEST_CAPS_VER_PARSE_ERROR("firmware-auto-efi-format-nvram-json", 
"8.2.0");
 
     /* This test passes, but the outcome is not the desired one: the
-- 
2.52.0

Reply via email to