home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-powerpc / vdso.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.6 KB  |  84 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. extern unsigned int vdso64_pages;
  22. extern unsigned int vdso32_pages;
  23.  
  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;
  28.  
  29. extern void vdso_init(void);
  30.  
  31. #else /* __ASSEMBLY__ */
  32.  
  33. #ifdef __VDSO64__
  34. #ifdef VDS64_HAS_DESCRIPTORS
  35. #define V_FUNCTION_BEGIN(name)        \
  36.     .globl name;            \
  37.         .section ".opd","a";        \
  38.         .align 3;            \
  39.     name:                \
  40.     .quad .name,.TOC.@tocbase,0;    \
  41.     .previous;            \
  42.     .globl .name;            \
  43.     .type .name,@function;         \
  44.     .name:                \
  45.  
  46. #define V_FUNCTION_END(name)        \
  47.     .size .name,.-.name;
  48.  
  49. #define V_LOCAL_FUNC(name) (.name)
  50.  
  51. #else /* VDS64_HAS_DESCRIPTORS */
  52.  
  53. #define V_FUNCTION_BEGIN(name)        \
  54.     .globl name;            \
  55.     name:                \
  56.  
  57. #define V_FUNCTION_END(name)        \
  58.     .size name,.-name;
  59.  
  60. #define V_LOCAL_FUNC(name) (name)
  61.  
  62. #endif /* VDS64_HAS_DESCRIPTORS */
  63. #endif /* __VDSO64__ */
  64.  
  65. #ifdef __VDSO32__
  66.  
  67. #define V_FUNCTION_BEGIN(name)        \
  68.     .globl name;            \
  69.     .type name,@function;         \
  70.     name:                \
  71.  
  72. #define V_FUNCTION_END(name)        \
  73.     .size name,.-name;
  74.  
  75. #define V_LOCAL_FUNC(name) (name)
  76.  
  77. #endif /* __VDSO32__ */
  78.  
  79. #endif /* __ASSEMBLY__ */
  80.  
  81. #endif /* __KERNEL__ */
  82.  
  83. #endif /* __PPC64_VDSO_H__ */
  84.