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 19 static inline void map_vsyscall(void) {} 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