From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752513AbdGRLEx (ORCPT ); Tue, 18 Jul 2017 07:04:53 -0400 Received: from terminus.zytor.com ([65.50.211.136]:47055 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751587AbdGRLEv (ORCPT ); Tue, 18 Jul 2017 07:04:51 -0400 Date: Tue, 18 Jul 2017 03:56:45 -0700 From: tip-bot for Tom Lendacky Message-ID: Cc: mingo@kernel.org, torvalds@linux-foundation.org, corbet@lwn.net, bp@suse.de, mst@redhat.com, linux-kernel@vger.kernel.org, glider@google.com, lwoodman@redhat.com, tglx@linutronix.de, konrad.wilk@oracle.com, dvyukov@google.com, thomas.lendacky@amd.com, luto@kernel.org, toshi.kani@hpe.com, peterz@infradead.org, brijesh.singh@amd.com, bp@alien8.de, dyoung@redhat.com, hpa@zytor.com, aryabinin@virtuozzo.com, rkrcmar@redhat.com, riel@redhat.com, pbonzini@redhat.com, matt@codeblueprint.co.uk, arnd@arndb.de Reply-To: bp@suse.de, mst@redhat.com, linux-kernel@vger.kernel.org, mingo@kernel.org, torvalds@linux-foundation.org, corbet@lwn.net, tglx@linutronix.de, konrad.wilk@oracle.com, thomas.lendacky@amd.com, dvyukov@google.com, luto@kernel.org, glider@google.com, lwoodman@redhat.com, bp@alien8.de, peterz@infradead.org, brijesh.singh@amd.com, dyoung@redhat.com, hpa@zytor.com, toshi.kani@hpe.com, pbonzini@redhat.com, riel@redhat.com, matt@codeblueprint.co.uk, arnd@arndb.de, aryabinin@virtuozzo.com, rkrcmar@redhat.com In-Reply-To: <7b7525fa12593dac5f4b01fcc25c95f97e93862f.1500319216.git.thomas.lendacky@amd.com> References: <7b7525fa12593dac5f4b01fcc25c95f97e93862f.1500319216.git.thomas.lendacky@amd.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:x86/mm] x86/cpu/AMD: Make the microcode level available earlier in the boot Git-Commit-ID: f655e6e6b992a2fb0d0334db2620607b98df39e7 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: f655e6e6b992a2fb0d0334db2620607b98df39e7 Gitweb: http://git.kernel.org/tip/f655e6e6b992a2fb0d0334db2620607b98df39e7 Author: Tom Lendacky AuthorDate: Mon, 17 Jul 2017 16:10:23 -0500 Committer: Ingo Molnar CommitDate: Tue, 18 Jul 2017 11:38:03 +0200 x86/cpu/AMD: Make the microcode level available earlier in the boot Move the setting of the cpuinfo_x86.microcode field from amd_init() to early_amd_init() so that it is available earlier in the boot process. This avoids having to read MSR_AMD64_PATCH_LEVEL directly during early boot. Signed-off-by: Tom Lendacky Reviewed-by: Thomas Gleixner Reviewed-by: Borislav Petkov Cc: Alexander Potapenko Cc: Andrey Ryabinin Cc: Andy Lutomirski Cc: Arnd Bergmann Cc: Borislav Petkov Cc: Brijesh Singh Cc: Dave Young Cc: Dmitry Vyukov Cc: Jonathan Corbet Cc: Konrad Rzeszutek Wilk Cc: Larry Woodman Cc: Linus Torvalds Cc: Matt Fleming Cc: Michael S. Tsirkin Cc: Paolo Bonzini Cc: Peter Zijlstra Cc: Radim Krčmář Cc: Rik van Riel Cc: Toshimitsu Kani Cc: kasan-dev@googlegroups.com Cc: kvm@vger.kernel.org Cc: linux-arch@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-efi@vger.kernel.org Cc: linux-mm@kvack.org Link: http://lkml.kernel.org/r/7b7525fa12593dac5f4b01fcc25c95f97e93862f.1500319216.git.thomas.lendacky@amd.com Signed-off-by: Ingo Molnar --- arch/x86/kernel/cpu/amd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 4d87950..f22fd4e 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -547,8 +547,12 @@ static void bsp_init_amd(struct cpuinfo_x86 *c) static void early_init_amd(struct cpuinfo_x86 *c) { + u32 dummy; + early_init_amd_mc(c); + rdmsr_safe(MSR_AMD64_PATCH_LEVEL, &c->microcode, &dummy); + /* * c->x86_power is 8000_0007 edx. Bit 8 is TSC runs at constant rate * with P/T states and does not stop in deep C-states @@ -750,8 +754,6 @@ static void init_amd_bd(struct cpuinfo_x86 *c) static void init_amd(struct cpuinfo_x86 *c) { - u32 dummy; - early_init_amd(c); /* @@ -813,8 +815,6 @@ static void init_amd(struct cpuinfo_x86 *c) if (c->x86 > 0x11) set_cpu_cap(c, X86_FEATURE_ARAT); - rdmsr_safe(MSR_AMD64_PATCH_LEVEL, &c->microcode, &dummy); - /* 3DNow or LM implies PREFETCHW */ if (!cpu_has(c, X86_FEATURE_3DNOWPREFETCH)) if (cpu_has(c, X86_FEATURE_3DNOW) || cpu_has(c, X86_FEATURE_LM))