xref: /openbmc/linux/arch/arm64/include/asm/vdso.h (revision 2a598d0b)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2012 ARM Limited
4  */
5 #ifndef __ASM_VDSO_H
6 #define __ASM_VDSO_H
7 
8 /*
9  * Default link address for the vDSO.
10  * Since we randomise the VDSO mapping, there's little point in trying
11  * to prelink this.
12  */
13 #define VDSO_LBASE	0x0
14 
15 #define __VVAR_PAGES    2
16 
17 #ifndef __ASSEMBLY__
18 
19 #include <generated/vdso-offsets.h>
20 #ifdef CONFIG_COMPAT_VDSO
21 #include <generated/vdso32-offsets.h>
22 #endif
23 
24 #define VDSO_SYMBOL(base, name)						   \
25 ({									   \
26 	(void *)(vdso_offset_##name - VDSO_LBASE + (unsigned long)(base)); \
27 })
28 
29 extern char vdso_start[], vdso_end[];
30 extern char vdso32_start[], vdso32_end[];
31 
32 #endif /* !__ASSEMBLY__ */
33 
34 #endif /* __ASM_VDSO_H */
35