| From 328935e6348c6a7cb34798a68c326f4b8372e68a Mon Sep 17 00:00:00 2001 |
| From: Borislav Petkov <borislav.petkov@amd.com> |
| Date: Tue, 17 May 2011 14:55:18 +0200 |
| Subject: Revert "x86, AMD: Fix APIC timer erratum 400 affecting K8 Rev.A-E processors" |
| |
| From: Borislav Petkov <borislav.petkov@amd.com> |
| |
| 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 | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/x86/kernel/cpu/amd.c |
| +++ b/arch/x86/kernel/cpu/amd.c |
| @@ -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)); |
| |
| |