1 #ifndef __PPC64_VDSO_H__
 
   2 #define __PPC64_VDSO_H__
 
   6 /* Default link addresses for the vDSOs */
 
   7 #define VDSO32_LBASE    0x100000
 
   8 #define VDSO64_LBASE    0x100000
 
  10 /* Default map addresses */
 
  11 #define VDSO32_MBASE    VDSO32_LBASE
 
  12 #define VDSO64_MBASE    VDSO64_LBASE
 
  14 #define VDSO_VERSION_STRING     LINUX_2.6.15
 
  16 /* Define if 64 bits VDSO has procedure descriptors */
 
  17 #undef VDS64_HAS_DESCRIPTORS
 
  21 extern unsigned int vdso64_pages;
 
  22 extern unsigned int vdso32_pages;
 
  24 /* Offsets relative to thread->vdso_base */
 
  25 extern unsigned long vdso64_rt_sigtramp;
 
  26 extern unsigned long vdso32_sigtramp;
 
  27 extern unsigned long vdso32_rt_sigtramp;
 
  29 extern void vdso_init(void);
 
  31 #else /* __ASSEMBLY__ */
 
  34 #ifdef VDS64_HAS_DESCRIPTORS
 
  35 #define V_FUNCTION_BEGIN(name)          \
 
  37         .section ".opd","a";            \
 
  40         .quad .name,.TOC.@tocbase,0;    \
 
  43         .type .name,@function;          \
 
  46 #define V_FUNCTION_END(name)            \
 
  49 #define V_LOCAL_FUNC(name) (.name)
 
  51 #else /* VDS64_HAS_DESCRIPTORS */
 
  53 #define V_FUNCTION_BEGIN(name)          \
 
  57 #define V_FUNCTION_END(name)            \
 
  60 #define V_LOCAL_FUNC(name) (name)
 
  62 #endif /* VDS64_HAS_DESCRIPTORS */
 
  63 #endif /* __VDSO64__ */
 
  67 #define V_FUNCTION_BEGIN(name)          \
 
  69         .type name,@function;           \
 
  72 #define V_FUNCTION_END(name)            \
 
  75 #define V_LOCAL_FUNC(name) (name)
 
  77 #endif /* __VDSO32__ */
 
  79 #endif /* __ASSEMBLY__ */
 
  81 #endif /* __KERNEL__ */
 
  83 #endif /* __PPC64_VDSO_H__ */