summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/tlbflush.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-03-23 08:28:19 +0100
committerIngo Molnar <mingo@kernel.org>2017-03-23 08:28:19 +0100
commit1f9ca184049724209cddbddac593d13eb87e48c0 (patch)
treea96bfd7bad95b717d2cabfd1e00e8803e998c23d /arch/x86/include/asm/tlbflush.h
parentx86/xen/gdt: Use X86_FEATURE_XENPV instead of globals for the GDT fixup (diff)
parentum/arch_prctl: Fix fallout from x86 arch_prctl() rework (diff)
downloadlinux-1f9ca184049724209cddbddac593d13eb87e48c0.tar.xz
linux-1f9ca184049724209cddbddac593d13eb87e48c0.zip
Merge branch 'x86/process' into x86/mm, to create new base for further patches
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/tlbflush.h')
-rw-r--r--arch/x86/include/asm/tlbflush.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h
index fc5abff9b7fd..75d002bdb3f3 100644
--- a/arch/x86/include/asm/tlbflush.h
+++ b/arch/x86/include/asm/tlbflush.h
@@ -110,6 +110,16 @@ static inline void cr4_clear_bits(unsigned long mask)
}
}
+static inline void cr4_toggle_bits(unsigned long mask)
+{
+ unsigned long cr4;
+
+ cr4 = this_cpu_read(cpu_tlbstate.cr4);
+ cr4 ^= mask;
+ this_cpu_write(cpu_tlbstate.cr4, cr4);
+ __write_cr4(cr4);
+}
+
/* Read the CR4 shadow. */
static inline unsigned long cr4_read_shadow(void)
{