xref: /linux/arch/powerpc/include/asm/vdso.h (revision ffd3eaf178b0f616a071e510e289d937330b0b35)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __PPC64_VDSO_H__
3 #define __PPC64_VDSO_H__
4 
5 #ifdef __KERNEL__
6 
7 /* Default link addresses for the vDSOs */
8 #define VDSO32_LBASE	0x0
9 #define VDSO64_LBASE	0x0
10 
11 /* Default map addresses for 32bit vDSO */
12 #define VDSO32_MBASE	0x100000
13 
14 #define VDSO_VERSION_STRING	LINUX_2.6.15
15 
16 #ifndef __ASSEMBLY__
17 
18 /* Offsets relative to thread->vdso_base */
19 extern unsigned long vdso64_rt_sigtramp;
20 extern unsigned long vdso32_sigtramp;
21 extern unsigned long vdso32_rt_sigtramp;
22 
23 int vdso_getcpu_init(void);
24 
25 #else /* __ASSEMBLY__ */
26 
27 #ifdef __VDSO64__
28 #define V_FUNCTION_BEGIN(name)		\
29 	.globl name;			\
30 	name:				\
31 
32 #define V_FUNCTION_END(name)		\
33 	.size name,.-name;
34 
35 #define V_LOCAL_FUNC(name) (name)
36 #endif /* __VDSO64__ */
37 
38 #ifdef __VDSO32__
39 
40 #define V_FUNCTION_BEGIN(name)		\
41 	.globl name;			\
42 	.type name,@function; 		\
43 	name:				\
44 
45 #define V_FUNCTION_END(name)		\
46 	.size name,.-name;
47 
48 #define V_LOCAL_FUNC(name) (name)
49 
50 #endif /* __VDSO32__ */
51 
52 #endif /* __ASSEMBLY__ */
53 
54 #endif /* __KERNEL__ */
55 
56 #endif /* __PPC64_VDSO_H__ */
57