Linux Audio

Check our new training course

Loading...
v4.6
 1#ifndef __PPC64_VDSO_H__
 2#define __PPC64_VDSO_H__
 
 3
 4#ifdef __KERNEL__
 5
 6/* Default link addresses for the vDSOs */
 7#define VDSO32_LBASE	0x0
 8#define VDSO64_LBASE	0x0
 9
10/* Default map addresses for 32bit vDSO */
11#define VDSO32_MBASE	0x100000
12
13#define VDSO_VERSION_STRING	LINUX_2.6.15
 
 
14
15/* Define if 64 bits VDSO has procedure descriptors */
16#undef VDS64_HAS_DESCRIPTORS
 
17
18#ifndef __ASSEMBLY__
19
20/* Offsets relative to thread->vdso_base */
21extern unsigned long vdso64_rt_sigtramp;
22extern unsigned long vdso32_sigtramp;
23extern unsigned long vdso32_rt_sigtramp;
24
25int vdso_getcpu_init(void);
26
27#else /* __ASSEMBLY__ */
28
29#ifdef __VDSO64__
30#ifdef VDS64_HAS_DESCRIPTORS
31#define V_FUNCTION_BEGIN(name)		\
32	.globl name;			\
33        .section ".opd","a";		\
34        .align 3;			\
35	name:				\
36	.quad .name,.TOC.@tocbase,0;	\
37	.previous;			\
38	.globl .name;			\
39	.type .name,@function; 		\
40	.name:				\
41
42#define V_FUNCTION_END(name)		\
43	.size .name,.-.name;
44
45#define V_LOCAL_FUNC(name) (.name)
46
47#else /* VDS64_HAS_DESCRIPTORS */
48
49#define V_FUNCTION_BEGIN(name)		\
50	.globl name;			\
51	name:				\
52
53#define V_FUNCTION_END(name)		\
54	.size name,.-name;
55
56#define V_LOCAL_FUNC(name) (name)
57
58#endif /* VDS64_HAS_DESCRIPTORS */
59#endif /* __VDSO64__ */
60
61#ifdef __VDSO32__
62
63#define V_FUNCTION_BEGIN(name)		\
64	.globl name;			\
65	.type name,@function; 		\
66	name:				\
67
68#define V_FUNCTION_END(name)		\
69	.size name,.-name;
70
71#define V_LOCAL_FUNC(name) (name)
72
73#endif /* __VDSO32__ */
74
75#endif /* __ASSEMBLY__ */
76
77#endif /* __KERNEL__ */
78
79#endif /* __PPC64_VDSO_H__ */
v6.9.4
 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
 7#ifndef __ASSEMBLY__
 
 8
 9#ifdef CONFIG_PPC64
10#include <generated/vdso64-offsets.h>
11#endif
12
13#ifdef CONFIG_VDSO32
14#include <generated/vdso32-offsets.h>
15#endif
16
17#define VDSO64_SYMBOL(base, name) ((unsigned long)(base) + (vdso64_offset_##name))
18
19#define VDSO32_SYMBOL(base, name) ((unsigned long)(base) + (vdso32_offset_##name))
 
 
 
20
21int vdso_getcpu_init(void);
22
23#else /* __ASSEMBLY__ */
24
25#ifdef __VDSO64__
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26#define V_FUNCTION_BEGIN(name)		\
27	.globl name;			\
28	name:				\
29
30#define V_FUNCTION_END(name)		\
31	.size name,.-name;
32
33#define V_LOCAL_FUNC(name) (name)
 
 
34#endif /* __VDSO64__ */
35
36#ifdef __VDSO32__
37
38#define V_FUNCTION_BEGIN(name)		\
39	.globl name;			\
40	.type name,@function; 		\
41	name:				\
42
43#define V_FUNCTION_END(name)		\
44	.size name,.-name;
45
46#define V_LOCAL_FUNC(name) (name)
47
48#endif /* __VDSO32__ */
49
50#endif /* __ASSEMBLY__ */
51
52#endif /* _ASM_POWERPC_VDSO_H */