xref: /openbmc/linux/arch/powerpc/include/asm/vdso.h (revision caa80275)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_POWERPC_VDSO_H
3 #define _ASM_POWERPC_VDSO_H
4 
5 /* Default map addresses for 32bit vDSO */
6 #define VDSO32_MBASE	0x100000
7 
8 #define VDSO_VERSION_STRING	LINUX_2.6.15
9 
10 #ifndef __ASSEMBLY__
11 
12 #ifdef CONFIG_PPC64
13 #include <generated/vdso64-offsets.h>
14 #endif
15 
16 #ifdef CONFIG_VDSO32
17 #include <generated/vdso32-offsets.h>
18 #endif
19 
20 #define VDSO64_SYMBOL(base, name) ((unsigned long)(base) + (vdso64_offset_##name))
21 
22 #define VDSO32_SYMBOL(base, name) ((unsigned long)(base) + (vdso32_offset_##name))
23 
24 int vdso_getcpu_init(void);
25 
26 #else /* __ASSEMBLY__ */
27 
28 #ifdef __VDSO64__
29 #define V_FUNCTION_BEGIN(name)		\
30 	.globl name;			\
31 	name:				\
32 
33 #define V_FUNCTION_END(name)		\
34 	.size name,.-name;
35 
36 #define V_LOCAL_FUNC(name) (name)
37 #endif /* __VDSO64__ */
38 
39 #ifdef __VDSO32__
40 
41 #define V_FUNCTION_BEGIN(name)		\
42 	.globl name;			\
43 	.type name,@function; 		\
44 	name:				\
45 
46 #define V_FUNCTION_END(name)		\
47 	.size name,.-name;
48 
49 #define V_LOCAL_FUNC(name) (name)
50 
51 #endif /* __VDSO32__ */
52 
53 #endif /* __ASSEMBLY__ */
54 
55 #endif /* _ASM_POWERPC_VDSO_H */
56