GNU Linux-libre 4.9.333-gnu1
[releases.git] / arch / x86 / include / asm / vsyscall.h
1 #ifndef _ASM_X86_VSYSCALL_H
2 #define _ASM_X86_VSYSCALL_H
3
4 #include <linux/seqlock.h>
5 #include <uapi/asm/vsyscall.h>
6
7 #ifdef CONFIG_X86_VSYSCALL_EMULATION
8 extern void map_vsyscall(void);
9
10 /*
11  * Called on instruction fetch fault in vsyscall page.
12  * Returns true if handled.
13  */
14 extern bool emulate_vsyscall(struct pt_regs *regs, unsigned long address);
15 extern bool vsyscall_enabled(void);
16 #else
17 static inline void map_vsyscall(void) {}
18 static inline bool emulate_vsyscall(struct pt_regs *regs, unsigned long address)
19 {
20         return false;
21 }
22 static inline bool vsyscall_enabled(void) { return false; }
23 #endif
24 extern unsigned long vsyscall_pgprot;
25
26 #endif /* _ASM_X86_VSYSCALL_H */