]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: always enable pae for x86_64 HVM
authorJim Fehlig <jfehlig@suse.com>
Thu, 12 Jan 2017 00:42:42 +0000 (17:42 -0700)
committerJim Fehlig <jfehlig@suse.com>
Fri, 13 Jan 2017 01:42:39 +0000 (18:42 -0700)
For HVM domains, pae is only set in libxl_domain_build_info when
explicitly specified in the hypervisor <features> config. This is
fine for i686 machines, but is incorrect behavior for x86_64 machines
where pae must always be enabled. See the following discussion for
additional details

https://www.redhat.com/archives/libvir-list/2017-January/msg00254.html

docs/news.xml
src/libxl/libxl_domain.c

index c19bbbb126e1741a3a0d368629b734ba79c31b39..8a876e998f20841c1ee20a9552a2ee2225992c61 100644 (file)
           default to the general working scenario.
         </description>
       </change>
+      <change>
+        <summary>
+          libxl: always enable pae for x86_64 HVM
+        </summary>
+        <description>
+          By default pae is disabled in libxl. Without an explicit &lt;pae/&gt;
+          setting in the domain &lt;features&gt; configuration, an x86_64 HVM
+          domain would be get an i686 environment. pae should always be enabled
+          for x86_64 HVM domains.
+        </description>
+      </change>
     </section>
   </release>
   <release version="v2.5.0" date="2016-12-04">
index fbe7ee5ff607c2db33095a94bb8f2580693c9a81..a5314b0b1957715469089ff1b687a4ddbb567061 100644 (file)
@@ -410,6 +410,12 @@ libxlDomainDefPostParse(virDomainDefPtr def,
     if (xenDomainDefAddImplicitInputDevice(def) < 0)
         return -1;
 
+    /* For x86_64 HVM, always enable pae */
+    if (def->os.type == VIR_DOMAIN_OSTYPE_HVM &&
+        def->os.arch == VIR_ARCH_X86_64) {
+        def->features[VIR_DOMAIN_FEATURE_PAE] = VIR_TRISTATE_SWITCH_ON;
+    }
+
     return 0;
 }