summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/paravirt.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-11-14 07:21:44 +0100
committerIngo Molnar <mingo@kernel.org>2017-11-14 07:21:44 +0100
commit050ab10a645097e47c01cfab3ccf24167e9b266b (patch)
tree686b17c63933f187305a87fba696415dccd032ae /arch/x86/kernel/paravirt.c
parent9eb719855f6c9b21eb5889d9ac2ca1c60527ad89 (diff)
parentb29c6ef7bb1257853c1e31616d84f55e561cf631 (diff)
downloadop-kernel-dev-050ab10a645097e47c01cfab3ccf24167e9b266b.zip
op-kernel-dev-050ab10a645097e47c01cfab3ccf24167e9b266b.tar.gz
Merge branch 'linus' into core/objtool, to pick up dependent commits
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/paravirt.c')
-rw-r--r--arch/x86/kernel/paravirt.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 19a3e8f..041096b 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -115,8 +115,18 @@ unsigned paravirt_patch_jmp(void *insnbuf, const void *target,
return 5;
}
-/* Neat trick to map patch type back to the call within the
- * corresponding structure. */
+DEFINE_STATIC_KEY_TRUE(virt_spin_lock_key);
+
+void __init native_pv_lock_init(void)
+{
+ if (!static_cpu_has(X86_FEATURE_HYPERVISOR))
+ static_branch_disable(&virt_spin_lock_key);
+}
+
+/*
+ * Neat trick to map patch type back to the call within the
+ * corresponding structure.
+ */
static void *get_call_destination(u8 type)
{
struct paravirt_patch_template tmpl = {
OpenPOWER on IntegriCloud