This patch is used to tell the kernel that newer Centaur CPU support MCE
broadcasting.

Signed-off-by: David Wang <davidw...@zhaoxin.com>
---
 arch/x86/kernel/cpu/mcheck/mce.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index 7065846..82b25e1 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -1688,6 +1688,17 @@ static int __mcheck_cpu_apply_quirks(struct cpuinfo_x86 
*c)
                if (c->x86 == 6 && c->x86_model == 45)
                        quirk_no_way_out = quirk_sandybridge_ifu;
        }
+
+       if (c->x86_vendor == X86_VENDOR_CENTAUR) {
+               /*
+                * All newer centaur CPUs support MCE broadcasting. Enable
+                * synchronization with a one second timeout.
+                */
+               if ((c->x86 > 6 || (c->x86 == 6 && c->x86_model == 0xf && 
c->x86_mask >=0xe)) &&
+                       cfg->monarch_timeout < 0)
+                       cfg->monarch_timeout = USEC_PER_SEC;
+       }
+
        if (cfg->monarch_timeout < 0)
                cfg->monarch_timeout = 0;
        if (cfg->bootlog != 0)
-- 
1.9.1

Reply via email to