]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Adjust hyperv tlbflush formatting
authorMartin Kletzander <mkletzan@redhat.com>
Mon, 6 Jan 2025 15:11:01 +0000 (16:11 +0100)
committerJán Tomko <jtomko@redhat.com>
Tue, 7 Jan 2025 09:55:38 +0000 (10:55 +0100)
Commit 247357cc292a added support for direct and extended modes for
tlbflush, but forgot to do the formatting as well.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/conf/domain_conf.c
tests/qemuxmlconfdata/hyperv.x86_64-latest.xml

index ba1b3a7398a337c16be63f50bae197c1226ce931..af88d0bcfddba1d559d43d3a4fe5b3b071f9abbd 100644 (file)
@@ -27974,7 +27974,6 @@ virDomainDefFormatFeatures(virBuffer *buf,
                 case VIR_DOMAIN_HYPERV_RESET:
                 case VIR_DOMAIN_HYPERV_FREQUENCIES:
                 case VIR_DOMAIN_HYPERV_REENLIGHTENMENT:
-                case VIR_DOMAIN_HYPERV_TLBFLUSH:
                 case VIR_DOMAIN_HYPERV_IPI:
                 case VIR_DOMAIN_HYPERV_EVMCS:
                 case VIR_DOMAIN_HYPERV_AVIC:
@@ -28004,6 +28003,16 @@ virDomainDefFormatFeatures(virBuffer *buf,
                     }
                     break;
 
+                case VIR_DOMAIN_HYPERV_TLBFLUSH:
+                    if (def->hyperv_features[j] != VIR_TRISTATE_SWITCH_ON)
+                        break;
+
+                    if (def->hyperv_tlbflush_direct == VIR_TRISTATE_SWITCH_ON)
+                        virBufferAddLit(&hypervChildBuf, "<direct state='on'/>\n");
+                    if (def->hyperv_tlbflush_extended == VIR_TRISTATE_SWITCH_ON)
+                        virBufferAddLit(&hypervChildBuf, "<extended state='on'/>\n");
+                    break;
+
                 case VIR_DOMAIN_HYPERV_LAST:
                     break;
                 }
index 36d9161fa8118b0b40a30c92e14b63836866eabf..49537188af3f4818eb786969c49b3e6174fbef9b 100644 (file)
       <vendor_id state='on' value='KVM Hv'/>
       <frequencies state='on'/>
       <reenlightenment state='on'/>
-      <tlbflush state='on'/>
+      <tlbflush state='on'>
+        <direct state='on'/>
+        <extended state='on'/>
+      </tlbflush>
       <ipi state='on'/>
       <evmcs state='on'/>
       <avic state='on'/>