home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / powerpc / include / asm / vdso.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.5 KB  |  79 lines

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