]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Revert "x86, AMD: Fix APIC timer erratum 400 affecting K8 Rev.A-E processors"
authorBorislav Petkov <borislav.petkov@amd.com>
Tue, 17 May 2011 12:55:18 +0000 (14:55 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 23 May 2011 18:20:18 +0000 (11:20 -0700)
commit 328935e6348c6a7cb34798a68c326f4b8372e68a upstream.

This reverts commit e20a2d205c05cef6b5783df339a7d54adeb50962, as it crashes
certain boxes with specific AMD CPU models.

Moving the lower endpoint of the Erratum 400 check to accomodate
earlier K8 revisions (A-E) opens a can of worms which is simply
not worth to fix properly by tweaking the errata checking
framework:

* missing IntPenging MSR on revisions < CG cause #GP:

http://marc.info/?l=linux-kernel&m=130541471818831

* makes earlier revisions use the LAPIC timer instead of the C1E
idle routine which switches to HPET, thus not waking up in
deeper C-states:

http://lkml.org/lkml/2011/4/24/20

Therefore, leave the original boundary starting with K8-revF.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/cpu/amd.c

index 8f9c307b7cfe1ad1c2bca68c0178f704a49a7880..f893f73397c994d80fae51e7f63a63155402a5e8 100644 (file)
@@ -653,7 +653,7 @@ cpu_dev_register(amd_cpu_dev);
  */
 
 const int amd_erratum_400[] =
-       AMD_OSVW_ERRATUM(1, AMD_MODEL_RANGE(0x0f, 0x4, 0x2, 0xff, 0xf),
+       AMD_OSVW_ERRATUM(1, AMD_MODEL_RANGE(0xf, 0x41, 0x2, 0xff, 0xf),
                            AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0xff, 0xf));