Messages in this thread Patch in this message | | | From | Aravind Gopalakrishnan <> | Subject | [PATCH V2 3/6] x86/mce: Define 'SUCCOR' cpuid bit | Date | Wed, 6 May 2015 06:58:55 -0500 |
| |
SUCCOR stands for S/W UnCorrectable error COntainment and Recovery. It indicates support for data poisoning in HW and deferred error interrupts.
Add new bitfield in mce_vendor_flags for this. We use this to verify prescence of deferred error interrupts before we enable them in mce_amd.c
While at it, clarify comments in mce_vendor_flags to provide an indication of usages of the bitfields.
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com> --- arch/x86/include/asm/mce.h | 17 +++++++++++++++-- arch/x86/kernel/cpu/mcheck/mce.c | 3 ++- 2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index 1f5a86d..ab0cdac 100644 --- a/arch/x86/include/asm/mce.h +++ b/arch/x86/include/asm/mce.h @@ -117,8 +117,21 @@ struct mca_config { }; struct mce_vendor_flags { - __u64 overflow_recov : 1, /* cpuid_ebx(80000007) */ - __reserved_0 : 63; + /* Flags from cpuid_ebx(80000007) */ + + /* + * overflow recovery cpuid bit indicates that overflow + * conditions are not fatal + */ + __u64 overflow_recov : 1, + /* + * SUCCOR stands for S/W UnCorrectable error + * COntainment and Recovery. + * It indicates support for data poisoning in HW and + * deferred error interrupts. + */ + succor : 1, + __reserved_0 : 62; }; extern struct mce_vendor_flags mce_flags; diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index e535533..6d218ac 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -1639,7 +1639,8 @@ static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) break; case X86_VENDOR_AMD: mce_amd_feature_init(c); - mce_flags.overflow_recov = cpuid_ebx(0x80000007) & 0x1; + mce_flags.overflow_recov = !!(cpuid_ebx(0x80000007) & BIT(0)); + mce_flags.succor = !!(cpuid_ebx(0x80000007) & BIT(1)); break; default: break; -- 1.9.1
| |