Re: [PATCH] libxl: always enable pae for x86_64 HVM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/12/2017 07:50 AM, Martin Kletzander wrote:
On Thu, Jan 12, 2017 at 07:31:29AM -0700, Jim Fehlig wrote:
On 01/12/2017 02:06 AM, Martin Kletzander wrote:
On Wed, Jan 11, 2017 at 05:45:27PM -0700, Jim Fehlig wrote:
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
Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxx>
---
src/libxl/libxl_domain.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index fbe7ee5..a5314b0 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -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;
+    }
+

This will even rewrite explicit <pae enabled='no/>

According to docs/schemas/domaincommon.rng, pae is not a tristate :-). One of
the options for solving this problem is to make it one

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


I saw that, but I somehow thought it changed since, I haven't realized
it's less than a week ago.


I would check that it's not VIR_TRISTATE_SWITCH_OFF, then enable it and
during startup just fail if it is VIR_TRISTATE_SWITCH_ON.

I suppose you mean fail if it is *not* VIR_TRISTATE_SWITCH_ON?


No, we add features by default normally, I just thought it's a
tristate.  Since it doesn't, this patch makes sense as it is.

ACK, safe for freeze if you want to.

Thanks. Since I think the bug fix is noteworthy, I squashed in the below news entry and pushed the patch.

Regards,
Jim

--- a/docs/news.xml
+++ b/docs/news.xml
@@ -214,6 +214,17 @@
           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>

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux