diff options
-rw-r--r-- | arch/x86/kernel/cpu/mcheck/mce_amd.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c index 5d4999f95aec..f8c56bd7b74d 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c | |||
@@ -217,7 +217,7 @@ void mce_amd_feature_init(struct cpuinfo_x86 *c) | |||
217 | for (bank = 0; bank < mca_cfg.banks; ++bank) { | 217 | for (bank = 0; bank < mca_cfg.banks; ++bank) { |
218 | for (block = 0; block < NR_BLOCKS; ++block) { | 218 | for (block = 0; block < NR_BLOCKS; ++block) { |
219 | if (block == 0) | 219 | if (block == 0) |
220 | address = MSR_IA32_MC0_MISC + bank * 4; | 220 | address = MSR_IA32_MCx_MISC(bank); |
221 | else if (block == 1) { | 221 | else if (block == 1) { |
222 | address = (low & MASK_BLKPTR_LO) >> 21; | 222 | address = (low & MASK_BLKPTR_LO) >> 21; |
223 | if (!address) | 223 | if (!address) |
@@ -281,7 +281,7 @@ static void amd_threshold_interrupt(void) | |||
281 | continue; | 281 | continue; |
282 | for (block = 0; block < NR_BLOCKS; ++block) { | 282 | for (block = 0; block < NR_BLOCKS; ++block) { |
283 | if (block == 0) { | 283 | if (block == 0) { |
284 | address = MSR_IA32_MC0_MISC + bank * 4; | 284 | address = MSR_IA32_MCx_MISC(bank); |
285 | } else if (block == 1) { | 285 | } else if (block == 1) { |
286 | address = (low & MASK_BLKPTR_LO) >> 21; | 286 | address = (low & MASK_BLKPTR_LO) >> 21; |
287 | if (!address) | 287 | if (!address) |
@@ -314,8 +314,7 @@ static void amd_threshold_interrupt(void) | |||
314 | 314 | ||
315 | if (high & MASK_OVERFLOW_HI) { | 315 | if (high & MASK_OVERFLOW_HI) { |
316 | rdmsrl(address, m.misc); | 316 | rdmsrl(address, m.misc); |
317 | rdmsrl(MSR_IA32_MC0_STATUS + bank * 4, | 317 | rdmsrl(MSR_IA32_MCx_STATUS(bank), m.status); |
318 | m.status); | ||
319 | m.bank = K8_MCE_THRESHOLD_BASE | 318 | m.bank = K8_MCE_THRESHOLD_BASE |
320 | + bank * NR_BLOCKS | 319 | + bank * NR_BLOCKS |
321 | + block; | 320 | + block; |
@@ -617,8 +616,7 @@ static int threshold_create_bank(unsigned int cpu, unsigned int bank) | |||
617 | } | 616 | } |
618 | } | 617 | } |
619 | 618 | ||
620 | err = allocate_threshold_blocks(cpu, bank, 0, | 619 | err = allocate_threshold_blocks(cpu, bank, 0, MSR_IA32_MCx_MISC(bank)); |
621 | MSR_IA32_MC0_MISC + bank * 4); | ||
622 | if (!err) | 620 | if (!err) |
623 | goto out; | 621 | goto out; |
624 | 622 | ||