diff options
author | Brian Gerst <brgerst@gmail.com> | 2022-03-25 11:39:53 -0400 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2022-04-14 14:15:54 +0200 |
commit | 203d8919a9eda5d1bc68ac3cd7637588334c9dc1 (patch) | |
tree | 59b295ea0838b4ef36457fb3576ad23344eabe7a | |
parent | 3a24a60854d2ef19e0edcd11cdbbb4fabc655dde (diff) | |
download | lwn-203d8919a9eda5d1bc68ac3cd7637588334c9dc1.tar.gz lwn-203d8919a9eda5d1bc68ac3cd7637588334c9dc1.zip |
x86/asm: Merge load_gs_index()
Merge the 32- and 64-bit implementations of load_gs_index().
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Andy Lutomirski <luto@kernel.org>
Link: https://lore.kernel.org/r/20220325153953.162643-5-brgerst@gmail.com
-rw-r--r-- | arch/x86/include/asm/segment.h | 7 | ||||
-rw-r--r-- | arch/x86/include/asm/special_insns.h | 7 |
2 files changed, 4 insertions, 10 deletions
diff --git a/arch/x86/include/asm/segment.h b/arch/x86/include/asm/segment.h index 617b3663e4dd..2e7890dd58a4 100644 --- a/arch/x86/include/asm/segment.h +++ b/arch/x86/include/asm/segment.h @@ -350,13 +350,6 @@ static inline void __loadsegment_fs(unsigned short value) #define savesegment(seg, value) \ asm("mov %%" #seg ",%0":"=r" (value) : : "memory") -/* - * x86-32 user GS accessors. This is ugly and could do with some cleaning up. - */ -#ifdef CONFIG_X86_32 -# define load_gs_index(v) loadsegment(gs, (v)) -#endif /* X86_32 */ - #endif /* !__ASSEMBLY__ */ #endif /* __KERNEL__ */ diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h index 68c257a3de0d..45b18eb94fa1 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -184,14 +184,15 @@ static inline void wbinvd(void) native_wbinvd(); } -#ifdef CONFIG_X86_64 static inline void load_gs_index(unsigned int selector) { +#ifdef CONFIG_X86_64 native_load_gs_index(selector); -} - +#else + loadsegment(gs, selector); #endif +} #endif /* CONFIG_PARAVIRT_XXL */ |