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
9extern void map_vsyscall(void);
10extern 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 */
16extern bool emulate_vsyscall(unsigned long error_code,
17 struct pt_regs *regs, unsigned long address);
18#else
19static inline void map_vsyscall(void) {}
20static 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

source code of linux/arch/x86/include/asm/vsyscall.h