xref: /linux/arch/arm64/include/asm/vdso.h (revision e9a83bd2322035ed9d7dcf35753d3f984d76c6a5)
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 #ifdef __KERNEL__
9 
10 /*
11  * Default link address for the vDSO.
12  * Since we randomise the VDSO mapping, there's little point in trying
13  * to prelink this.
14  */
15 #define VDSO_LBASE	0x0
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 #endif /* !__ASSEMBLY__ */
30 
31 #endif /* __KERNEL__ */
32 
33 #endif /* __ASM_VDSO_H */
34