Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751941AbcL1SLp (ORCPT ); Wed, 28 Dec 2016 13:11:45 -0500 Received: from mail-ua0-f179.google.com ([209.85.217.179]:35692 "EHLO mail-ua0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751903AbcL1SLo (ORCPT ); Wed, 28 Dec 2016 13:11:44 -0500 MIME-Version: 1.0 In-Reply-To: <20161228112023.GB21788@nazgul.tnic> References: <2f771739-a617-0870-2f68-2a8ebba0bc46@ce.jp.nec.com> <20161228111830.GA21788@nazgul.tnic> <20161228112023.GB21788@nazgul.tnic> From: Andy Lutomirski Date: Wed, 28 Dec 2016 10:11:22 -0800 Message-ID: Subject: Re: [PATCH 1/2] x86/CPU: Add native CPUID variants returning a single datum To: Borislav Petkov Cc: Junichi Nomura , "x86@kernel.org" , "linux-kernel@vger.kernel.org" , "tglx@linutronix.de" , "mingo@redhat.com" , "hpa@zytor.com" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1645 Lines: 46 On Wed, Dec 28, 2016 at 3:20 AM, Borislav Petkov wrote: > From: Borislav Petkov > > ... similar to the cpuid_() variants. > > Signed-off-by: Borislav Petkov > --- > arch/x86/include/asm/processor.h | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h > index eaf100508c36..27ae83fc37de 100644 > --- a/arch/x86/include/asm/processor.h > +++ b/arch/x86/include/asm/processor.h > @@ -219,6 +219,24 @@ static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, > : "memory"); > } > > +#define native_cpuid_reg(reg) \ > +static inline unsigned int native_cpuid_##reg(unsigned int op) \ > +{ \ > + unsigned int eax = (op), ebx, ecx = 0, edx; \ The parens around (op) shouldn't be needed. > + \ > + native_cpuid(&eax, &ebx, &ecx, &edx); \ > + \ > + return reg; \ > +} > + > +/* > + * Native CPUID functions returning a single datum. > + */ > +native_cpuid_reg(eax) > +native_cpuid_reg(ebx) > +native_cpuid_reg(ecx) > +native_cpuid_reg(edx) > + On a very quick read, it looks like none of your new call sites actually use the return value at all. Since you also appear to be consolidating them all, would it make sense to just open-code the single (?) remaining user? --Andy