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

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

 



On Thu, Jan 12, 2017 at 03:51:43PM +0100, Martin Kletzander wrote:
On Thu, Jan 12, 2017 at 02:34:37PM +0000, Daniel P. Berrange 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

Heh, the schema is wrong then, since the code treats all features
the same way, as tri-states :-)


It does not, pae is explicitly just:

           <element name="pae">
             <empty/>
           </element>


I've hit 'send' too soon.  It does not, we just use virSwitchTristate
for saving the values, but it parses and formats them separately.

Martin

Regards,
Daniel
--
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|

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

Attachment: signature.asc
Description: Digital signature

--
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