File 85aafea4-qemu-Remove-host-passthrough-validation-check-for-ho.patch of Package libvirt.29155

From efc113ba192f9b22c98dc1fdf86d32c861f9f9f6 Mon Sep 17 00:00:00 2001
From: Lin Ma <lma@suse.com>
Date: Thu, 8 Sep 2022 15:07:22 +0800
Subject: [PATCH 9/9] qemu: Remove host-passthrough validation check for
 host-phys-bits=on

Besides the -cpu host, The host-phys-bits=on applies to custom or max
cpu model, So the host-passthrough validation check is unnecessary for
maxphysaddr with mode='passthrough'.

Signed-off-by: Lin Ma <lma@suse.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
(cherry picked from commit 85aafea4499b20a43d5c208143fc1582ab3d6c84)
---
 src/qemu/qemu_validate.c                      |  7 -------
 .../cpu-phys-bits-passthrough2.err            |  2 +-
 .../cpu-phys-bits-passthrough2.xml            |  4 ++--
 .../cpu-phys-bits-passthrough3.err            |  1 -
 .../cpu-phys-bits-passthrough3.xml            | 20 -------------------
 tests/qemuxml2argvtest.c                      |  1 -
 6 files changed, 3 insertions(+), 32 deletions(-)
 delete mode 100644 tests/qemuxml2argvdata/cpu-phys-bits-passthrough3.err
 delete mode 100644 tests/qemuxml2argvdata/cpu-phys-bits-passthrough3.xml

Index: libvirt-8.0.0/src/qemu/qemu_validate.c
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_validate.c
+++ libvirt-8.0.0/src/qemu/qemu_validate.c
@@ -352,13 +352,6 @@ qemuValidateDomainDefCpu(virQEMUDriver *
 
         switch (addr->mode) {
         case VIR_CPU_MAX_PHYS_ADDR_MODE_PASSTHROUGH:
-            if (def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH) {
-                virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                               _("CPU maximum physical address bits mode '%s' can only be used with '%s' CPUs"),
-                               virCPUMaxPhysAddrModeTypeToString(addr->mode),
-                               virCPUModeTypeToString(VIR_CPU_MODE_HOST_PASSTHROUGH));
-                return -1;
-            }
             if (addr->bits != -1) {
                 virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                                _("CPU maximum physical address bits number specification cannot be used with mode='%s'"),
Index: libvirt-8.0.0/tests/qemuxml2argvdata/cpu-phys-bits-passthrough2.err
===================================================================
--- libvirt-8.0.0.orig/tests/qemuxml2argvdata/cpu-phys-bits-passthrough2.err
+++ libvirt-8.0.0/tests/qemuxml2argvdata/cpu-phys-bits-passthrough2.err
@@ -1 +1 @@
-unsupported configuration: CPU maximum physical address bits mode 'passthrough' can only be used with 'host-passthrough' CPUs
+unsupported configuration: CPU maximum physical address bits number specification cannot be used with mode='passthrough'
Index: libvirt-8.0.0/tests/qemuxml2argvdata/cpu-phys-bits-passthrough2.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemuxml2argvdata/cpu-phys-bits-passthrough2.xml
+++ libvirt-8.0.0/tests/qemuxml2argvdata/cpu-phys-bits-passthrough2.xml
@@ -8,8 +8,8 @@
     <type arch='x86_64' machine='pc'>hvm</type>
     <boot dev='hd'/>
   </os>
-  <cpu mode='host-model'>
-    <maxphysaddr mode='passthrough'/>
+  <cpu mode='host-passthrough'>
+    <maxphysaddr mode='passthrough' bits='42'/>
   </cpu>
   <clock offset='utc'/>
   <on_poweroff>destroy</on_poweroff>
Index: libvirt-8.0.0/tests/qemuxml2argvdata/cpu-phys-bits-passthrough3.err
===================================================================
--- libvirt-8.0.0.orig/tests/qemuxml2argvdata/cpu-phys-bits-passthrough3.err
+++ /dev/null
@@ -1 +0,0 @@
-unsupported configuration: CPU maximum physical address bits number specification cannot be used with mode='passthrough'
Index: libvirt-8.0.0/tests/qemuxml2argvdata/cpu-phys-bits-passthrough3.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemuxml2argvdata/cpu-phys-bits-passthrough3.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<domain type='kvm'>
-  <name>foo</name>
-  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
-  <memory unit='KiB'>219136</memory>
-  <currentMemory unit='KiB'>219136</currentMemory>
-  <vcpu placement='static'>1</vcpu>
-  <os>
-    <type arch='x86_64' machine='pc'>hvm</type>
-    <boot dev='hd'/>
-  </os>
-  <cpu mode='host-passthrough'>
-    <maxphysaddr mode='passthrough' bits='42'/>
-  </cpu>
-  <clock offset='utc'/>
-  <on_poweroff>destroy</on_poweroff>
-  <on_reboot>restart</on_reboot>
-  <on_crash>destroy</on_crash>
-  <devices>
-  </devices>
-</domain>
Index: libvirt-8.0.0/tests/qemuxml2argvtest.c
===================================================================
--- libvirt-8.0.0.orig/tests/qemuxml2argvtest.c
+++ libvirt-8.0.0/tests/qemuxml2argvtest.c
@@ -3494,7 +3494,6 @@ mymain(void)
     DO_TEST("cpu-phys-bits-emulate2", QEMU_CAPS_KVM);
     DO_TEST_PARSE_ERROR("cpu-phys-bits-emulate3", QEMU_CAPS_KVM);
     DO_TEST_PARSE_ERROR("cpu-phys-bits-passthrough2", QEMU_CAPS_KVM);
-    DO_TEST_PARSE_ERROR("cpu-phys-bits-passthrough3", QEMU_CAPS_KVM);
 
     if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
         virFileDeleteTree(fakerootdir);
openSUSE Build Service is sponsored by