diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-09-04 11:45:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-09-04 11:45:41 -0400 |
commit | 9ca581b50dab6103183396852cc08e440fcda18e (patch) | |
tree | 029775bfe0ce0adcce7f0dd7f1ca8f98efe1768c | |
parent | 1c3333600b0ebca94edffb3bb431c78687dc3d36 (diff) | |
parent | d1992996753132e2dafe955cccb2fb0714d3cfc4 (diff) |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fix from Thomas Gleixner:
"A single fix for an AMD erratum so machines without a BIOS fix work"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/AMD: Apply erratum 665 on machines without a BIOS fix
-rw-r--r-- | arch/x86/kernel/cpu/amd.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index f5c69d8974e1..b81fe2d63e15 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c | |||
@@ -669,6 +669,17 @@ static void init_amd_gh(struct cpuinfo_x86 *c) | |||
669 | set_cpu_bug(c, X86_BUG_AMD_TLB_MMATCH); | 669 | set_cpu_bug(c, X86_BUG_AMD_TLB_MMATCH); |
670 | } | 670 | } |
671 | 671 | ||
672 | #define MSR_AMD64_DE_CFG 0xC0011029 | ||
673 | |||
674 | static void init_amd_ln(struct cpuinfo_x86 *c) | ||
675 | { | ||
676 | /* | ||
677 | * Apply erratum 665 fix unconditionally so machines without a BIOS | ||
678 | * fix work. | ||
679 | */ | ||
680 | msr_set_bit(MSR_AMD64_DE_CFG, 31); | ||
681 | } | ||
682 | |||
672 | static void init_amd_bd(struct cpuinfo_x86 *c) | 683 | static void init_amd_bd(struct cpuinfo_x86 *c) |
673 | { | 684 | { |
674 | u64 value; | 685 | u64 value; |
@@ -726,6 +737,7 @@ static void init_amd(struct cpuinfo_x86 *c) | |||
726 | case 6: init_amd_k7(c); break; | 737 | case 6: init_amd_k7(c); break; |
727 | case 0xf: init_amd_k8(c); break; | 738 | case 0xf: init_amd_k8(c); break; |
728 | case 0x10: init_amd_gh(c); break; | 739 | case 0x10: init_amd_gh(c); break; |
740 | case 0x12: init_amd_ln(c); break; | ||
729 | case 0x15: init_amd_bd(c); break; | 741 | case 0x15: init_amd_bd(c); break; |
730 | } | 742 | } |
731 | 743 | ||