static const char *const type_str[] = {
[mcheck_amd_famXX] = "AMD",
[mcheck_amd_k8] = "AMD K8",
- [mcheck_intel] = "Intel"
+ [mcheck_intel] = "Intel",
+ [mcheck_hygon] = "Hygon"
};
snprintf(prefix, ARRAY_SIZE(prefix), "%sCPU%u: ",
break;
case mcheck_amd_famXX:
+ case mcheck_hygon:
printk("%s%s Fam%xh machine check reporting enabled\n",
prefix, type_str[inited], c->x86);
break;
mce_recoverable_register(mc_amd_recoverable_scan);
mce_register_addrcheck(mc_amd_addrcheck);
- return mcheck_amd_famXX;
+ return ci->x86_vendor == X86_VENDOR_HYGON ?
+ mcheck_hygon : mcheck_amd_famXX;
}