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

Martin Kletzander mkletzan at redhat.com
Thu Jan 12 14:50:35 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
>

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.

>Regards,
>Jim
>
>>
>>>     return 0;
>>> }
>>>
>>> --
>>> 2.9.2
>>>
>>> --
>>> libvir-list mailing list
>>> libvir-list at redhat.com
>>> https://www.redhat.com/mailman/listinfo/libvir-list
>
>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170112/68abe2e9/attachment-0001.sig>


More information about the libvir-list mailing list