Line data Source code
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 1 : 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 */