linux/arch/x86/include/asm/vdso.h
<<
>>
Prefs
   1#ifndef _ASM_X86_VDSO_H
   2#define _ASM_X86_VDSO_H
   3
   4#include <asm/page_types.h>
   5#include <linux/linkage.h>
   6#include <linux/init.h>
   7
   8#ifndef __ASSEMBLER__
   9
  10#include <linux/mm_types.h>
  11
  12struct vdso_image {
  13        void *data;
  14        unsigned long size;   /* Always a multiple of PAGE_SIZE */
  15
  16        unsigned long alt, alt_len;
  17
  18        long sym_vvar_start;  /* Negative offset to the vvar area */
  19
  20        long sym_vvar_page;
  21        long sym_hpet_page;
  22        long sym_pvclock_page;
  23        long sym_hvclock_page;
  24        long sym_VDSO32_NOTE_MASK;
  25        long sym___kernel_sigreturn;
  26        long sym___kernel_rt_sigreturn;
  27        long sym___kernel_vsyscall;
  28        long sym_int80_landing_pad;
  29};
  30
  31#ifdef CONFIG_X86_64
  32extern const struct vdso_image vdso_image_64;
  33#endif
  34
  35#ifdef CONFIG_X86_X32
  36extern const struct vdso_image vdso_image_x32;
  37#endif
  38
  39#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
  40extern const struct vdso_image vdso_image_32;
  41#endif
  42
  43extern void __init init_vdso_image(const struct vdso_image *image);
  44
  45extern int map_vdso_once(const struct vdso_image *image, unsigned long addr);
  46
  47#endif /* __ASSEMBLER__ */
  48
  49#endif /* _ASM_X86_VDSO_H */
  50