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 | ||
