1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #include <asm/ftrace.h> 3 #include <linux/uaccess.h> 4 #include <asm/string.h> 5 #include <asm/page.h> 6 #include <asm/checksum.h> 7 8 #include <asm-generic/asm-prototypes.h> 9 10 #include <asm/page.h> 11 #include <asm/pgtable.h> 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 #ifdef CONFIG_X86_32 22 #define INDIRECT_THUNK(reg) extern asmlinkage void __x86_indirect_thunk_e ## reg(void); 23 #else 24 #define INDIRECT_THUNK(reg) extern asmlinkage void __x86_indirect_thunk_r ## reg(void); 25 INDIRECT_THUNK(8) 26 INDIRECT_THUNK(9) 27 INDIRECT_THUNK(10) 28 INDIRECT_THUNK(11) 29 INDIRECT_THUNK(12) 30 INDIRECT_THUNK(13) 31 INDIRECT_THUNK(14) 32 INDIRECT_THUNK(15) 33 #endif 34 INDIRECT_THUNK(ax) 35 INDIRECT_THUNK(bx) 36 INDIRECT_THUNK(cx) 37 INDIRECT_THUNK(dx) 38 INDIRECT_THUNK(si) 39 INDIRECT_THUNK(di) 40 INDIRECT_THUNK(bp) 41 #endif /* CONFIG_RETPOLINE */ 42