1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_X86_VSYSCALL_H
3 #define _ASM_X86_VSYSCALL_H
4 
5 #include <linux/seqlock.h>
6 #include <uapi/asm/vsyscall.h>
7 
8 #ifdef CONFIG_X86_VSYSCALL_EMULATION
9 extern void map_vsyscall(void);
10 extern void set_vsyscall_pgtable_user_bits(pgd_t *root);
11 
12 /*
13  * Called on instruction fetch fault in vsyscall page.
14  * Returns true if handled.
15  */
16 extern bool emulate_vsyscall(unsigned long error_code,
17 			     struct pt_regs *regs, unsigned long address);
18 #else
map_vsyscall(void)19 static inline void map_vsyscall(void) {}
emulate_vsyscall(unsigned long error_code,struct pt_regs * regs,unsigned long address)20 static inline bool emulate_vsyscall(unsigned long error_code,
21 				    struct pt_regs *regs, unsigned long address)
22 {
23 	return false;
24 }
25 #endif
26 
27 #endif /* _ASM_X86_VSYSCALL_H */
28