1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #ifndef __PPC64_VDSO_H__
- #define __PPC64_VDSO_H__
- #ifdef __KERNEL__
- /* Default link addresses for the vDSOs */
- #define VDSO32_LBASE 0x0
- #define VDSO64_LBASE 0x0
- /* Default map addresses for 32bit vDSO */
- #define VDSO32_MBASE 0x100000
- #define VDSO_VERSION_STRING LINUX_2.6.15
- /* Define if 64 bits VDSO has procedure descriptors */
- #undef VDS64_HAS_DESCRIPTORS
- #ifndef __ASSEMBLY__
- /* Offsets relative to thread->vdso_base */
- extern unsigned long vdso64_rt_sigtramp;
- extern unsigned long vdso32_sigtramp;
- extern unsigned long vdso32_rt_sigtramp;
- int vdso_getcpu_init(void);
- #else /* __ASSEMBLY__ */
- #ifdef __VDSO64__
- #ifdef VDS64_HAS_DESCRIPTORS
- #define V_FUNCTION_BEGIN(name) \
- .globl name; \
- .section ".opd","a"; \
- .align 3; \
- name: \
- .quad .name,.TOC.@tocbase,0; \
- .previous; \
- .globl .name; \
- .type .name,@function; \
- .name: \
- #define V_FUNCTION_END(name) \
- .size .name,.-.name;
- #define V_LOCAL_FUNC(name) (.name)
- #else /* VDS64_HAS_DESCRIPTORS */
- #define V_FUNCTION_BEGIN(name) \
- .globl name; \
- name: \
- #define V_FUNCTION_END(name) \
- .size name,.-name;
- #define V_LOCAL_FUNC(name) (name)
- #endif /* VDS64_HAS_DESCRIPTORS */
- #endif /* __VDSO64__ */
- #ifdef __VDSO32__
- #define V_FUNCTION_BEGIN(name) \
- .globl name; \
- .type name,@function; \
- name: \
- #define V_FUNCTION_END(name) \
- .size name,.-name;
- #define V_LOCAL_FUNC(name) (name)
- #endif /* __VDSO32__ */
- #endif /* __ASSEMBLY__ */
- #endif /* __KERNEL__ */
- #endif /* __PPC64_VDSO_H__ */
|