x86/AMD: Do not enable ARAT feature on AMD processors below family 0x12
authorBoris Ostrovsky <boris.ostrovsky@amd.com>
Fri, 7 Oct 2011 08:32:15 +0000 (10:32 +0200)
committerBoris Ostrovsky <boris.ostrovsky@amd.com>
Fri, 7 Oct 2011 08:32:15 +0000 (10:32 +0200)
Determining whether an AMD processor is affected by erratum 400 may
have some corner cases and handling these cases is somewhat complicated.
In the interest of simplicity we won't claim ARAT support on processor
families below 0x12.

Mirrors Linux commit e9cdd343a5e42c43bcda01e609fa23089e026470

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/cpu/amd.c

index 6849d6a4db44e7ded27e1c20a3f5f515f0494e37..3750c7a9deb7aa399ed75553f169ff3754aef669 100644 (file)
@@ -495,8 +495,11 @@ static void __devinit init_amd(struct cpuinfo_x86 *c)
        }
 #endif
 
-       /* As a rule processors have APIC timer running in deep C states */
-       if (c->x86 > 0xf && !cpu_has_amd_erratum(c, AMD_ERRATUM_400))
+       /*
+        * Family 0x12 and above processors have APIC timer
+        * running in deep C states.
+        */
+       if (c->x86 > 0x11)
                set_bit(X86_FEATURE_ARAT, c->x86_capability);
 
        if (cpuid_edx(0x80000007) & (1 << 10)) {