]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
xenconfig: parse e820_host option
authorMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Tue, 14 Apr 2020 02:37:06 +0000 (04:37 +0200)
committerJim Fehlig <jfehlig@suse.com>
Tue, 21 Apr 2020 15:06:09 +0000 (09:06 -0600)
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/xen_common.c

index 9a385eba0d0ca67a2a4791b70a1c897abdfd884b..bbb9739e013f6e6b9dcf69ccc05c526c85095797 100644 (file)
@@ -592,6 +592,13 @@ xenParseCPUFeatures(virConfPtr conf,
 
             def->clock.timers[def->clock.ntimers - 1] = timer;
         }
+    } else {
+        if (xenConfigGetBool(conf, "e820_host", &val, 0) < 0) {
+            return -1;
+        } else if (val) {
+            def->features[VIR_DOMAIN_FEATURE_XEN] = VIR_TRISTATE_SWITCH_ON;
+            def->xen_features[VIR_DOMAIN_XEN_E820_HOST] = VIR_TRISTATE_SWITCH_ON;
+        }
     }
 
     return 0;
@@ -2138,6 +2145,12 @@ xenFormatCPUFeatures(virConfPtr conf, virDomainDefPtr def)
                             (def->features[VIR_DOMAIN_FEATURE_VIRIDIAN] ==
                              VIR_TRISTATE_SWITCH_ON) ? 1 : 0) < 0)
             return -1;
+    } else {
+        if (def->features[VIR_DOMAIN_FEATURE_XEN] == VIR_TRISTATE_SWITCH_ON) {
+            if (def->xen_features[VIR_DOMAIN_XEN_E820_HOST] == VIR_TRISTATE_SWITCH_ON)
+                if (xenConfigSetInt(conf, "e820_host", 1) < 0)
+                    return -1;
+        }
     }
 
     for (i = 0; i < def->clock.ntimers; i++) {