xref: /openbmc/linux/arch/s390/include/asm/vdso.h (revision 779df224)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2b020632eSMartin Schwidefsky #ifndef __S390_VDSO_H__
3b020632eSMartin Schwidefsky #define __S390_VDSO_H__
4b020632eSMartin Schwidefsky 
54bff8cb5SSven Schnelle #include <vdso/datapage.h>
64bff8cb5SSven Schnelle 
7*779df224SSven Schnelle #ifndef __ASSEMBLY__
8*779df224SSven Schnelle 
9*779df224SSven Schnelle #include <generated/vdso64-offsets.h>
10*779df224SSven Schnelle #ifdef CONFIG_COMPAT
11*779df224SSven Schnelle #include <generated/vdso32-offsets.h>
12*779df224SSven Schnelle #endif
13*779df224SSven Schnelle 
14*779df224SSven Schnelle #define VDSO64_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso64_offset_##name))
15*779df224SSven Schnelle #ifdef CONFIG_COMPAT
16*779df224SSven Schnelle #define VDSO32_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso32_offset_##name))
17*779df224SSven Schnelle #else
18*779df224SSven Schnelle #define VDSO32_SYMBOL(tsk, name) (-1UL)
19*779df224SSven Schnelle #endif
20*779df224SSven Schnelle 
21*779df224SSven Schnelle extern struct vdso_data *vdso_data;
22*779df224SSven Schnelle 
23*779df224SSven Schnelle int vdso_getcpu_init(void);
24*779df224SSven Schnelle 
25*779df224SSven Schnelle #endif /* __ASSEMBLY__ */
26*779df224SSven Schnelle 
2774b68448SHeiko Carstens /* Default link address for the vDSO */
2843e1f76bSSven Schnelle #define VDSO_LBASE	0
29b020632eSMartin Schwidefsky 
30eeab78b0SHeiko Carstens #define __VVAR_PAGES	2
31eeab78b0SHeiko Carstens 
3213c6680aSMartin Schwidefsky #define VDSO_VERSION_STRING	LINUX_2.6.29
33b020632eSMartin Schwidefsky 
34b020632eSMartin Schwidefsky #endif /* __S390_VDSO_H__ */
35