The early "do we need to do anything" check needs adjustment, too. Thanks to Haitao Shan for pointing this out. Signed-off-by: Jan Beulich --- a/xen/arch/x86/cpu/intel.c +++ b/xen/arch/x86/cpu/intel.c @@ -61,7 +61,8 @@ static void __devinit set_cpuidmask(cons const char *extra = ""; if (!~(opt_cpuid_mask_ecx & opt_cpuid_mask_edx & - opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) + opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx & + opt_cpuid_mask_xsave_eax)) return; /* Only family 6 supports this feature */