Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / arch / x86 / include / asm / vsyscall.h
blobeaea1d31f753092cd19ff6cf126f6c7c0f7cedb7
1 #ifndef _ASM_X86_VSYSCALL_H
2 #define _ASM_X86_VSYSCALL_H
4 enum vsyscall_num {
5 __NR_vgettimeofday,
6 __NR_vtime,
7 __NR_vgetcpu,
8 };
10 #define VSYSCALL_START (-10UL << 20)
11 #define VSYSCALL_SIZE 1024
12 #define VSYSCALL_END (-2UL << 20)
13 #define VSYSCALL_MAPPED_PAGES 1
14 #define VSYSCALL_ADDR(vsyscall_nr) (VSYSCALL_START+VSYSCALL_SIZE*(vsyscall_nr))
16 #ifdef __KERNEL__
17 #include <linux/seqlock.h>
19 #define VGETCPU_RDTSCP 1
20 #define VGETCPU_LSL 2
22 /* kernel space (writeable) */
23 extern int vgetcpu_mode;
24 extern struct timezone sys_tz;
26 #include <asm/vvar.h>
28 extern void map_vsyscall(void);
31 * Called on instruction fetch fault in vsyscall page.
32 * Returns true if handled.
34 extern bool emulate_vsyscall(struct pt_regs *regs, unsigned long address);
36 #endif /* __KERNEL__ */
38 #endif /* _ASM_X86_VSYSCALL_H */