Merge tag 'devicetree-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh...
[linux-2.6-block.git] / arch / x86 / include / asm / vdso.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
1965aae3
PA
2#ifndef _ASM_X86_VDSO_H
3#define _ASM_X86_VDSO_H
7f3646aa 4
9e6f450f
AL
5#include <asm/page_types.h>
6#include <linux/linkage.h>
6f121e54 7#include <linux/init.h>
9e6f450f 8
6f121e54 9#ifndef __ASSEMBLER__
9e6f450f 10
a62c34bd
AL
11#include <linux/mm_types.h>
12
6f121e54
AL
13struct vdso_image {
14 void *data;
15 unsigned long size; /* Always a multiple of PAGE_SIZE */
a62c34bd 16
6f121e54 17 unsigned long alt, alt_len;
9e6f450f 18
e6577a7c
AL
19 long sym_vvar_start; /* Negative offset to the vvar area */
20
21 long sym_vvar_page;
dac16fba 22 long sym_pvclock_page;
90b20432 23 long sym_hvclock_page;
e6577a7c
AL
24 long sym_VDSO32_NOTE_MASK;
25 long sym___kernel_sigreturn;
26 long sym___kernel_rt_sigreturn;
27 long sym___kernel_vsyscall;
8242c6c8 28 long sym_int80_landing_pad;
6f121e54 29};
9e6f450f 30
6f121e54
AL
31#ifdef CONFIG_X86_64
32extern const struct vdso_image vdso_image_64;
33#endif
7a59ed41 34
6f121e54
AL
35#ifdef CONFIG_X86_X32
36extern const struct vdso_image vdso_image_x32;
37#endif
7a59ed41 38
6f121e54 39#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
0a6d1fa0 40extern const struct vdso_image vdso_image_32;
6c3652ef 41#endif
7f3646aa 42
6f121e54 43extern void __init init_vdso_image(const struct vdso_image *image);
b4b541a6 44
2eefd878
DS
45extern int map_vdso_once(const struct vdso_image *image, unsigned long addr);
46
9e6f450f
AL
47#endif /* __ASSEMBLER__ */
48
1965aae3 49#endif /* _ASM_X86_VDSO_H */