xref: /openbmc/linux/arch/x86/include/asm/vsyscall.h (revision 1ad83c858c7d4ea210429142c99a1548e6715a35)
11965aae3SH. Peter Anvin #ifndef _ASM_X86_VSYSCALL_H
21965aae3SH. Peter Anvin #define _ASM_X86_VSYSCALL_H
3bb898558SAl Viro 
4bb898558SAl Viro #include <linux/seqlock.h>
5af170c50SDavid Howells #include <uapi/asm/vsyscall.h>
6bb898558SAl Viro 
7*1ad83c85SAndy Lutomirski #ifdef CONFIG_X86_VSYSCALL_EMULATION
8bb898558SAl Viro extern void map_vsyscall(void);
9bb898558SAl Viro 
103ae36655SAndy Lutomirski /*
113ae36655SAndy Lutomirski  * Called on instruction fetch fault in vsyscall page.
123ae36655SAndy Lutomirski  * Returns true if handled.
133ae36655SAndy Lutomirski  */
143ae36655SAndy Lutomirski extern bool emulate_vsyscall(struct pt_regs *regs, unsigned long address);
15*1ad83c85SAndy Lutomirski #else
16*1ad83c85SAndy Lutomirski static inline void map_vsyscall(void) {}
17*1ad83c85SAndy Lutomirski static inline bool emulate_vsyscall(struct pt_regs *regs, unsigned long address)
18*1ad83c85SAndy Lutomirski {
19*1ad83c85SAndy Lutomirski 	return false;
20*1ad83c85SAndy Lutomirski }
21*1ad83c85SAndy Lutomirski #endif
223ae36655SAndy Lutomirski 
231965aae3SH. Peter Anvin #endif /* _ASM_X86_VSYSCALL_H */
24