aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBorislav Petkov <borislav.petkov@amd.com>2010-09-06 09:05:45 -0400
committerBorislav Petkov <bp@amd64.org>2010-10-21 08:48:03 -0400
commit9530d608ef0e1f76b7fd82bb92645062292fc009 (patch)
treeaaa1e8365c5ffd2525b52d924d2af8411ecc4376
parentfe4ea2623bec3e595f8e77a8514307c389c096ae (diff)
EDAC, MCE: Enable MCE decoding on F14h
Now that all decoders have been taught about F14h, models < 0x10 MCEs, enable decoding on this family of CPUs. Also, issue a short informational message upon boot that MCE decoding gets enabled. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
-rw-r--r--drivers/edac/mce_amd.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c
index 83b7b5fcee7f..f233c5f78302 100644
--- a/drivers/edac/mce_amd.c
+++ b/drivers/edac/mce_amd.c
@@ -598,13 +598,12 @@ static struct notifier_block amd_mce_dec_nb = {
598 598
599static int __init mce_amd_init(void) 599static int __init mce_amd_init(void)
600{ 600{
601 /*
602 * We can decode MCEs for K8, F10h and F11h CPUs:
603 */
604 if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) 601 if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
605 return 0; 602 return 0;
606 603
607 if (boot_cpu_data.x86 < 0xf || boot_cpu_data.x86 > 0x11) 604 if (boot_cpu_data.x86 != 0xf &&
605 boot_cpu_data.x86 != 0x10 &&
606 (boot_cpu_data.x86 != 0x14 || boot_cpu_data.x86_model > 0xf))
608 return 0; 607 return 0;
609 608
610 fam_ops = kzalloc(sizeof(struct amd_decoder_ops), GFP_KERNEL); 609 fam_ops = kzalloc(sizeof(struct amd_decoder_ops), GFP_KERNEL);
@@ -638,6 +637,8 @@ static int __init mce_amd_init(void)
638 return -EINVAL; 637 return -EINVAL;
639 } 638 }
640 639
640 pr_info("MCE: In-kernel MCE decoding enabled.\n");
641
641 atomic_notifier_chain_register(&x86_mce_decoder_chain, &amd_mce_dec_nb); 642 atomic_notifier_chain_register(&x86_mce_decoder_chain, &amd_mce_dec_nb);
642 643
643 return 0; 644 return 0;