root/arch/x86/include/asm/vdso.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _ASM_X86_VDSO_H
   3 #define _ASM_X86_VDSO_H
   4 
   5 #include <asm/page_types.h>
   6 #include <linux/linkage.h>
   7 #include <linux/init.h>
   8 
   9 #ifndef __ASSEMBLER__
  10 
  11 #include <linux/mm_types.h>
  12 
  13 struct vdso_image {
  14         void *data;
  15         unsigned long size;   /* Always a multiple of PAGE_SIZE */
  16 
  17         unsigned long alt, alt_len;
  18 
  19         long sym_vvar_start;  /* Negative offset to the vvar area */
  20 
  21         long sym_vvar_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
  32 extern const struct vdso_image vdso_image_64;
  33 #endif
  34 
  35 #ifdef CONFIG_X86_X32
  36 extern const struct vdso_image vdso_image_x32;
  37 #endif
  38 
  39 #if defined CONFIG_X86_32 || defined CONFIG_COMPAT
  40 extern const struct vdso_image vdso_image_32;
  41 #endif
  42 
  43 extern void __init init_vdso_image(const struct vdso_image *image);
  44 
  45 extern int map_vdso_once(const struct vdso_image *image, unsigned long addr);
  46 
  47 #endif /* __ASSEMBLER__ */
  48 
  49 #endif /* _ASM_X86_VDSO_H */

/* [<][>][^][v][top][bottom][index][help] */