From: Jan Beulich Date: Thu, 28 Jun 2018 09:28:12 +0000 (+0200) Subject: libxc/x86/PV: don't hand through CPUID leaf 0x80000008 as is X-Git-Tag: RELEASE-4.7.6~9 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=a8d37eef31d66849b4e447cbafc5d7bcc160d277;p=xen.git libxc/x86/PV: don't hand through CPUID leaf 0x80000008 as is Just like for HVM the feature set should be used for EBX output, while EAX should be restricted to the low 16 bits and ECX/EDX should be zero. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper master commit: 849cc9ac56eff8a8d575ed9f484aad72f383862c master date: 2018-05-29 10:51:02 +0100 --- diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c index 4afafce1a1..284b7dd972 100644 --- a/tools/libxc/xc_cpuid_x86.c +++ b/tools/libxc/xc_cpuid_x86.c @@ -662,6 +662,12 @@ static void xc_cpuid_pv_policy(xc_interface *xch, break; } + case 0x80000008: + regs[0] &= 0x0000ffffu; + regs[1] = info->featureset[featureword_of(X86_FEATURE_CLZERO)]; + regs[2] = regs[3] = 0; + break; + case 0x00000005: /* MONITOR/MWAIT */ case 0x0000000a: /* Architectural Performance Monitor Features */ case 0x0000000b: /* Extended Topology Enumeration */