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 / x86 / include / asm / vdso.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.3 KB  |  48 lines

  1. #ifndef _ASM_X86_VDSO_H
  2. #define _ASM_X86_VDSO_H
  3.  
  4. #ifdef CONFIG_X86_64
  5. extern const char VDSO64_PRELINK[];
  6.  
  7. /*
  8.  * Given a pointer to the vDSO image, find the pointer to VDSO64_name
  9.  * as that symbol is defined in the vDSO sources or linker script.
  10.  */
  11. #define VDSO64_SYMBOL(base, name)                    \
  12. ({                                    \
  13.     extern const char VDSO64_##name[];                \
  14.     (void *)(VDSO64_##name - VDSO64_PRELINK + (unsigned long)(base)); \
  15. })
  16. #endif
  17.  
  18. #if defined CONFIG_X86_32 || defined CONFIG_COMPAT
  19. extern const char VDSO32_PRELINK[];
  20.  
  21. /*
  22.  * Given a pointer to the vDSO image, find the pointer to VDSO32_name
  23.  * as that symbol is defined in the vDSO sources or linker script.
  24.  */
  25. #define VDSO32_SYMBOL(base, name)                    \
  26. ({                                    \
  27.     extern const char VDSO32_##name[];                \
  28.     (void *)(VDSO32_##name - VDSO32_PRELINK + (unsigned long)(base)); \
  29. })
  30. #endif
  31.  
  32. /*
  33.  * These symbols are defined with the addresses in the vsyscall page.
  34.  * See vsyscall-sigreturn.S.
  35.  */
  36. extern void __user __kernel_sigreturn;
  37. extern void __user __kernel_rt_sigreturn;
  38.  
  39. /*
  40.  * These symbols are defined by vdso32.S to mark the bounds
  41.  * of the ELF DSO images included therein.
  42.  */
  43. extern const char vdso32_int80_start, vdso32_int80_end;
  44. extern const char vdso32_syscall_start, vdso32_syscall_end;
  45. extern const char vdso32_sysenter_start, vdso32_sysenter_end;
  46.  
  47. #endif /* _ASM_X86_VDSO_H */
  48.