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(struct pt_regs *regs, unsigned long address);
17#else
18static inline void map_vsyscall(void) {}
19static inline bool emulate_vsyscall(struct pt_regs *regs, unsigned long address)
20{
21 return false;
22}
23#endif
24
25#endif /* _ASM_X86_VSYSCALL_H */
26