From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756713AbdAJAUE convert rfc822-to-8bit (ORCPT ); Mon, 9 Jan 2017 19:20:04 -0500 Received: from terminus.zytor.com ([198.137.202.10]:57150 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754253AbdAJAUD (ORCPT ); Mon, 9 Jan 2017 19:20:03 -0500 Date: Mon, 09 Jan 2017 16:19:29 -0800 User-Agent: K-9 Mail for Android In-Reply-To: References: <20170109114147.5082-2-bp@alien8.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Subject: Re: [tip:x86/urgent] x86/CPU: Add native CPUID variants returning a single datum To: linux-tip-commits@vger.kernel.org, tip-bot for Borislav Petkov CC: bp@suse.de, mingo@kernel.org, linux-kernel@vger.kernel.org, tglx@linutronix.de From: hpa@zytor.com Message-ID: <9724A6CA-1F64-4B4D-BAE4-4116FCE7838D@zytor.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On January 9, 2017 2:16:07 PM PST, tip-bot for Borislav Petkov wrote: >Commit-ID: 5dedade6dfa243c130b85d1e4daba6f027805033 >Gitweb: >http://git.kernel.org/tip/5dedade6dfa243c130b85d1e4daba6f027805033 >Author: Borislav Petkov >AuthorDate: Mon, 9 Jan 2017 12:41:43 +0100 >Committer: Thomas Gleixner >CommitDate: Mon, 9 Jan 2017 23:11:13 +0100 > >x86/CPU: Add native CPUID variants returning a single datum > >... similarly to the cpuid_() variants. > >Signed-off-by: Borislav Petkov >Link: http://lkml.kernel.org/r/20170109114147.5082-2-bp@alien8.de >Signed-off-by: Thomas Gleixner > >--- > 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 eaf1005..1be64da 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; \ >+ \ >+ 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) >+ > static inline void load_cr3(pgd_t *pgdir) > { > write_cr3(__pa(pgdir)); Any reason to not make these interfaces (leaf, subleaf) from the start? -- Sent from my Android device with K-9 Mail. Please excuse my brevity.