From 4797cb940577f2de5d7fabd81a0bdae29aad6984 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 12 May 2014 17:30:59 +0200 Subject: [PATCH] x86/AMD: feature masking is unavailable on Fam11 Reported-by: Aravind Gopalakrishnan Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper master commit: 70e79fad6dc6f533ff83ee23b8d13de5a696d896 master date: 2014-04-09 16:13:25 +0200 --- xen/arch/x86/cpu/amd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index 0e2822f0f6..4a0b9142b0 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -109,6 +109,10 @@ static void __devinit set_cpuidmask(const struct cpuinfo_x86 *c) ASSERT((status == not_parsed) && (smp_processor_id() == 0)); status = no_mask; + /* Fam11 doesn't support masking at all. */ + if (c->x86 == 0x11) + return; + if (~(opt_cpuid_mask_ecx & opt_cpuid_mask_edx & opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) { feat_ecx = opt_cpuid_mask_ecx; @@ -178,7 +182,6 @@ static void __devinit set_cpuidmask(const struct cpuinfo_x86 *c) extfeat_ecx, extfeat_edx); setmask: - /* FIXME check if processor supports CPUID masking */ /* AMD processors prior to family 10h required a 32-bit password */ if (c->x86 >= 0x10) { wrmsr(MSR_K8_FEATURE_MASK, feat_edx, feat_ecx); -- 2.39.5