11965aae3SH. Peter Anvin #ifndef _ASM_X86_VDSO_H 21965aae3SH. Peter Anvin #define _ASM_X86_VDSO_H 3bb898558SAl Viro 49e6f450fSAndy Lutomirski #include <asm/page_types.h> 59e6f450fSAndy Lutomirski #include <linux/linkage.h> 6*6f121e54SAndy Lutomirski #include <linux/init.h> 79e6f450fSAndy Lutomirski 8*6f121e54SAndy Lutomirski #ifndef __ASSEMBLER__ 99e6f450fSAndy Lutomirski 10*6f121e54SAndy Lutomirski struct vdso_image { 11*6f121e54SAndy Lutomirski void *data; 12*6f121e54SAndy Lutomirski unsigned long size; /* Always a multiple of PAGE_SIZE */ 13*6f121e54SAndy Lutomirski struct page **pages; /* Big enough for data/size page pointers */ 149e6f450fSAndy Lutomirski 15*6f121e54SAndy Lutomirski unsigned long alt, alt_len; 169e6f450fSAndy Lutomirski 17*6f121e54SAndy Lutomirski unsigned long sym_VDSO32_NOTE_MASK; 18*6f121e54SAndy Lutomirski unsigned long sym___kernel_sigreturn; 19*6f121e54SAndy Lutomirski unsigned long sym___kernel_rt_sigreturn; 20*6f121e54SAndy Lutomirski unsigned long sym___kernel_vsyscall; 21*6f121e54SAndy Lutomirski unsigned long sym_VDSO32_SYSENTER_RETURN; 22*6f121e54SAndy Lutomirski }; 23*6f121e54SAndy Lutomirski 24*6f121e54SAndy Lutomirski #ifdef CONFIG_X86_64 25*6f121e54SAndy Lutomirski extern const struct vdso_image vdso_image_64; 26*6f121e54SAndy Lutomirski #endif 27*6f121e54SAndy Lutomirski 28*6f121e54SAndy Lutomirski #ifdef CONFIG_X86_X32 29*6f121e54SAndy Lutomirski extern const struct vdso_image vdso_image_x32; 30*6f121e54SAndy Lutomirski #endif 319e6f450fSAndy Lutomirski 32bb898558SAl Viro #if defined CONFIG_X86_32 || defined CONFIG_COMPAT 33*6f121e54SAndy Lutomirski extern const struct vdso_image vdso_image_32_int80; 349e6f450fSAndy Lutomirski #ifdef CONFIG_COMPAT 35*6f121e54SAndy Lutomirski extern const struct vdso_image vdso_image_32_syscall; 369e6f450fSAndy Lutomirski #endif 37*6f121e54SAndy Lutomirski extern const struct vdso_image vdso_image_32_sysenter; 389e6f450fSAndy Lutomirski 39*6f121e54SAndy Lutomirski extern const struct vdso_image *selected_vdso32; 40bb898558SAl Viro #endif 41bb898558SAl Viro 42*6f121e54SAndy Lutomirski extern void __init init_vdso_image(const struct vdso_image *image); 43b4b541a6SAndy Lutomirski 449e6f450fSAndy Lutomirski #endif /* __ASSEMBLER__ */ 459e6f450fSAndy Lutomirski 461965aae3SH. Peter Anvin #endif /* _ASM_X86_VDSO_H */ 47