32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
|
# Commit 70e79fad6dc6f533ff83ee23b8d13de5a696d896
|
||
|
# Date 2014-04-09 16:13:25 +0200
|
||
|
# Author Jan Beulich <jbeulich@suse.com>
|
||
|
# Committer Jan Beulich <jbeulich@suse.com>
|
||
|
x86/AMD: feature masking is unavailable on Fam11
|
||
|
|
||
|
Reported-by: Aravind Gopalakrishnan<aravind.gopalakrishnan@amd.com>
|
||
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||
|
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
|
||
|
|
||
|
--- a/xen/arch/x86/cpu/amd.c
|
||
|
+++ b/xen/arch/x86/cpu/amd.c
|
||
|
@@ -107,6 +107,10 @@ static void __devinit set_cpuidmask(cons
|
||
|
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;
|
||
|
@@ -176,7 +180,6 @@ static void __devinit set_cpuidmask(cons
|
||
|
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);
|