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