Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _ASM_X86_VSYSCALL_H
0003 #define _ASM_X86_VSYSCALL_H
0004 
0005 #include <linux/seqlock.h>
0006 #include <uapi/asm/vsyscall.h>
0007 
0008 #ifdef CONFIG_X86_VSYSCALL_EMULATION
0009 extern void map_vsyscall(void);
0010 extern void set_vsyscall_pgtable_user_bits(pgd_t *root);
0011 
0012 /*
0013  * Called on instruction fetch fault in vsyscall page.
0014  * Returns true if handled.
0015  */
0016 extern bool emulate_vsyscall(unsigned long error_code,
0017                  struct pt_regs *regs, unsigned long address);
0018 #else
0019 static inline void map_vsyscall(void) {}
0020 static inline bool emulate_vsyscall(unsigned long error_code,
0021                     struct pt_regs *regs, unsigned long address)
0022 {
0023     return false;
0024 }
0025 #endif
0026 
0027 #endif /* _ASM_X86_VSYSCALL_H */