Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753436AbbEAKZR (ORCPT ); Fri, 1 May 2015 06:25:17 -0400 Received: from mail.skyhub.de ([78.46.96.112]:38284 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751604AbbEAKZO (ORCPT ); Fri, 1 May 2015 06:25:14 -0400 Date: Fri, 1 May 2015 12:25:08 +0200 From: Borislav Petkov To: Aravind Gopalakrishnan Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, tony.luck@intel.com, jiang.liu@linux.intel.com, yinghai@kernel.org, x86@kernel.org, dvlasenk@redhat.com, JBeulich@suse.com, slaoub@gmail.com, luto@amacapital.net, dave.hansen@linux.intel.com, oleg@redhat.com, rostedt@goodmis.org, rusty@rustcorp.com.au, prarit@redhat.com, linux@rasmusvillemoes.dk, jroedel@suse.de, andriy.shevchenko@linux.intel.com, macro@linux-mips.org, wangnan0@huawei.com, linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org Subject: Re: [PATCH 1/4] x86/mce: Define 'SUCCOR' cpuid bit Message-ID: <20150501102508.GL10239@pd.tnic> References: <1430405365-4473-1-git-send-email-Aravind.Gopalakrishnan@amd.com> <1430405365-4473-2-git-send-email-Aravind.Gopalakrishnan@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1430405365-4473-2-git-send-email-Aravind.Gopalakrishnan@amd.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2151 Lines: 63 On Thu, Apr 30, 2015 at 09:49:22AM -0500, Aravind Gopalakrishnan wrote: > 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 > > Signed-off-by: Aravind Gopalakrishnan > --- > arch/x86/include/asm/mce.h | 3 ++- > arch/x86/kernel/cpu/mcheck/mce.c | 1 + > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h > index 1f5a86d..dfcb664 100644 > --- a/arch/x86/include/asm/mce.h > +++ b/arch/x86/include/asm/mce.h > @@ -118,7 +118,8 @@ struct mca_config { > > struct mce_vendor_flags { > __u64 overflow_recov : 1, /* cpuid_ebx(80000007) */ > - __reserved_0 : 63; > + succor : 1, Please add that CPUID bit definition from the commit message here too so that we know what it means. > + __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..de61f62e 100644 > --- a/arch/x86/kernel/cpu/mcheck/mce.c > +++ b/arch/x86/kernel/cpu/mcheck/mce.c > @@ -1640,6 +1640,7 @@ static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) > case X86_VENDOR_AMD: > mce_amd_feature_init(c); > mce_flags.overflow_recov = cpuid_ebx(0x80000007) & 0x1; > + mce_flags.succor = (cpuid_ebx(0x80000007) & 0x2) ? 1 : 0; mce_flags.succor = !!(cpuid_ebx(0x80000007) & BIT(1)); is a common way of assigning truth values from bits in the kernel. You can change the above one to use BIT(0) too, while at it, and vertically align the assignments. Thanks. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/