1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_POWERPC_VDSO_H
3 #define _ASM_POWERPC_VDSO_H
4 
5 #define VDSO_VERSION_STRING	LINUX_2.6.15
6 #define __VDSO_PAGES		4
7 
8 #ifndef __ASSEMBLY__
9 
10 #ifdef CONFIG_PPC64
11 #include <generated/vdso64-offsets.h>
12 #endif
13 
14 #ifdef CONFIG_VDSO32
15 #include <generated/vdso32-offsets.h>
16 #endif
17 
18 #define VDSO64_SYMBOL(base, name) ((unsigned long)(base) + (vdso64_offset_##name))
19 
20 #define VDSO32_SYMBOL(base, name) ((unsigned long)(base) + (vdso32_offset_##name))
21 
22 int vdso_getcpu_init(void);
23 
24 #else /* __ASSEMBLY__ */
25 
26 #ifdef __VDSO64__
27 #define V_FUNCTION_BEGIN(name)		\
28 	.globl name;			\
29 	.type name,@function; 		\
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 /* _ASM_POWERPC_VDSO_H */
55