From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
Borislav Petkov <bp@suse.de>,
Thomas Gleixner <tglx@linutronix.de>,
Neelima Krishnan <neelima.krishnan@intel.com>,
Mark Gross <mgross@linux.intel.com>,
Tony Luck <tony.luck@intel.com>,
Josh Poimboeuf <jpoimboe@redhat.com>,
Ben Hutchings <ben@decadent.org.uk>
Subject: [PATCH 4.4 11/20] x86/cpu: Add a helper function x86_read_arch_cap_msr()
Date: Fri, 15 Nov 2019 14:20:40 +0800 [thread overview]
Message-ID: <20191115062011.820988502@linuxfoundation.org> (raw)
In-Reply-To: <20191115062006.854443935@linuxfoundation.org>
From: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
commit 286836a70433fb64131d2590f4bf512097c255e1 upstream.
Add a helper function to read the IA32_ARCH_CAPABILITIES MSR.
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Neelima Krishnan <neelima.krishnan@intel.com>
Reviewed-by: Mark Gross <mgross@linux.intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/kernel/cpu/common.c | 15 +++++++++++----
arch/x86/kernel/cpu/cpu.h | 2 ++
2 files changed, 13 insertions(+), 4 deletions(-)
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -918,19 +918,26 @@ static bool __init cpu_matches(unsigned
return m && !!(m->driver_data & which);
}
-static void __init cpu_set_bug_bits(struct cpuinfo_x86 *c)
+u64 x86_read_arch_cap_msr(void)
{
u64 ia32_cap = 0;
+ if (boot_cpu_has(X86_FEATURE_ARCH_CAPABILITIES))
+ rdmsrl(MSR_IA32_ARCH_CAPABILITIES, ia32_cap);
+
+ return ia32_cap;
+}
+
+static void __init cpu_set_bug_bits(struct cpuinfo_x86 *c)
+{
+ u64 ia32_cap = x86_read_arch_cap_msr();
+
if (cpu_matches(NO_SPECULATION))
return;
setup_force_cpu_bug(X86_BUG_SPECTRE_V1);
setup_force_cpu_bug(X86_BUG_SPECTRE_V2);
- if (cpu_has(c, X86_FEATURE_ARCH_CAPABILITIES))
- rdmsrl(MSR_IA32_ARCH_CAPABILITIES, ia32_cap);
-
if (!cpu_matches(NO_SSB) && !(ia32_cap & ARCH_CAP_SSB_NO) &&
!cpu_has(c, X86_FEATURE_AMD_SSB_NO))
setup_force_cpu_bug(X86_BUG_SPEC_STORE_BYPASS);
--- a/arch/x86/kernel/cpu/cpu.h
+++ b/arch/x86/kernel/cpu/cpu.h
@@ -49,4 +49,6 @@ extern void cpu_detect_cache_sizes(struc
extern void x86_spec_ctrl_setup_ap(void);
+extern u64 x86_read_arch_cap_msr(void);
+
#endif /* ARCH_X86_CPU_H */
next prev parent reply other threads:[~2019-11-15 6:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-15 6:20 [PATCH 4.4 00/20] 4.4.202-stable review Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 01/20] kvm: mmu: Dont read PDPTEs when paging is not enabled Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 02/20] MIPS: BCM63XX: fix switch core reset on BCM6368 Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 03/20] powerpc/Makefile: Use cflags-y/aflags-y for setting endian options Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 04/20] powerpc: Fix compiling a BE kernel with a powerpc64le toolchain Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 05/20] powerpc/boot: Request no dynamic linker for boot wrapper Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 06/20] KVM: Introduce kvm_get_arch_capabilities() Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 07/20] KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 08/20] kvm: x86: IA32_ARCH_CAPABILITIES is always supported Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 09/20] KVM: x86: use Intel speculation bugs and features as derived in generic x86 code Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 10/20] x86/msr: Add the IA32_TSX_CTRL MSR Greg Kroah-Hartman
2019-11-15 6:20 ` Greg Kroah-Hartman [this message]
2019-11-15 6:20 ` [PATCH 4.4 12/20] x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 13/20] x86/speculation/taa: Add mitigation for TSX Async Abort Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 14/20] x86/speculation/taa: Add sysfs reporting " Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 15/20] kvm/x86: Export MDS_NO=0 to guests when TSX is enabled Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 16/20] x86/tsx: Add "auto" option to the tsx= cmdline parameter Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 17/20] x86/speculation/taa: Add documentation for TSX Async Abort Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 18/20] x86/tsx: Add config options to set tsx=on|off|auto Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 19/20] x86/speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs Greg Kroah-Hartman
2019-11-15 6:20 ` [PATCH 4.4 20/20] x86/bugs: Add ITLB_MULTIHIT bug infrastructure Greg Kroah-Hartman
2019-11-15 12:20 ` [PATCH 4.4 00/20] 4.4.202-stable review kernelci.org bot
2019-11-15 13:50 ` Jon Hunter
2019-11-15 13:55 ` Guenter Roeck
2019-11-15 15:53 ` Naresh Kamboju
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191115062011.820988502@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=ben@decadent.org.uk \
--cc=bp@suse.de \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgross@linux.intel.com \
--cc=neelima.krishnan@intel.com \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).