[libvirt] [PATCH] libxl: always enable pae for x86_64 HVM
Daniel P. Berrange
berrange at redhat.com
Thu Jan 12 14:34:37 UTC 2017
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 at suse.com>
> > > ---
> > > 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 :-)
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/ :|
More information about the libvir-list
mailing list