1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #include <asm/ftrace.h> 3 #include <linux/uaccess.h> 4 #include <linux/pgtable.h> 5 #include <asm/string.h> 6 #include <asm/page.h> 7 #include <asm/checksum.h> 8 #include <asm/mce.h> 9 10 #include <asm-generic/asm-prototypes.h> 11 12 #include <asm/special_insns.h> 13 #include <asm/preempt.h> 14 #include <asm/asm.h> 15 16 #ifndef CONFIG_X86_CMPXCHG64 17 extern void cmpxchg8b_emu(void); 18 #endif 19 20 #ifdef CONFIG_RETPOLINE 21 22 #define DECL_INDIRECT_THUNK(reg) \ 23 extern asmlinkage void __x86_indirect_thunk_ ## reg (void); 24 25 #define DECL_RETPOLINE(reg) \ 26 extern asmlinkage void __x86_retpoline_ ## reg (void); 27 28 #undef GEN 29 #define GEN(reg) DECL_INDIRECT_THUNK(reg) 30 #include <asm/GEN-for-each-reg.h> 31 32 #undef GEN 33 #define GEN(reg) DECL_RETPOLINE(reg) 34 #include <asm/GEN-for-each-reg.h> 35 36 #endif /* CONFIG_RETPOLINE */ 37