Merge tag 'v5.9' into next
[linux-2.6-microblaze.git] / arch / x86 / include / asm / asm-prototypes.h
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
9 #include <asm-generic/asm-prototypes.h>
10
11 #include <asm/special_insns.h>
12 #include <asm/preempt.h>
13 #include <asm/asm.h>
14
15 #ifndef CONFIG_X86_CMPXCHG64
16 extern void cmpxchg8b_emu(void);
17 #endif
18
19 #ifdef CONFIG_RETPOLINE
20
21 #define DECL_INDIRECT_THUNK(reg) \
22         extern asmlinkage void __x86_indirect_thunk_ ## reg (void);
23
24 #define DECL_RETPOLINE(reg) \
25         extern asmlinkage void __x86_retpoline_ ## reg (void);
26
27 #undef GEN
28 #define GEN(reg) DECL_INDIRECT_THUNK(reg)
29 #include <asm/GEN-for-each-reg.h>
30
31 #undef GEN
32 #define GEN(reg) DECL_RETPOLINE(reg)
33 #include <asm/GEN-for-each-reg.h>
34
35 #endif /* CONFIG_RETPOLINE */