[PATCH] Add initalization of the RDTSCP auxilliary values
[deliverable/linux.git] / include / asm-x86_64 / vsyscall.h
CommitLineData
1da177e4
LT
1#ifndef _ASM_X86_64_VSYSCALL_H_
2#define _ASM_X86_64_VSYSCALL_H_
3
1da177e4
LT
4enum vsyscall_num {
5 __NR_vgettimeofday,
6 __NR_vtime,
7};
8
9#define VSYSCALL_START (-10UL << 20)
10#define VSYSCALL_SIZE 1024
11#define VSYSCALL_END (-2UL << 20)
12#define VSYSCALL_ADDR(vsyscall_nr) (VSYSCALL_START+VSYSCALL_SIZE*(vsyscall_nr))
13
14#ifdef __KERNEL__
75da736f 15#include <linux/seqlock.h>
1da177e4
LT
16
17#define __section_vxtime __attribute__ ((unused, __section__ (".vxtime"), aligned(16)))
18#define __section_wall_jiffies __attribute__ ((unused, __section__ (".wall_jiffies"), aligned(16)))
19#define __section_jiffies __attribute__ ((unused, __section__ (".jiffies"), aligned(16)))
20#define __section_sys_tz __attribute__ ((unused, __section__ (".sys_tz"), aligned(16)))
21#define __section_sysctl_vsyscall __attribute__ ((unused, __section__ (".sysctl_vsyscall"), aligned(16)))
22#define __section_xtime __attribute__ ((unused, __section__ (".xtime"), aligned(16)))
23#define __section_xtime_lock __attribute__ ((unused, __section__ (".xtime_lock"), aligned(16)))
24
25#define VXTIME_TSC 1
26#define VXTIME_HPET 2
312df5f1 27#define VXTIME_PMTMR 3
1da177e4
LT
28
29struct vxtime_data {
30 long hpet_address; /* HPET base address */
1da177e4
LT
31 int last;
32 unsigned long last_tsc;
33 long quot;
34 long tsc_quot;
35 int mode;
36};
37
77a75333
SH
38#define hpet_readl(a) readl((const void __iomem *)fix_to_virt(FIX_HPET_BASE) + a)
39#define hpet_writel(d,a) writel(d, (void __iomem *)fix_to_virt(FIX_HPET_BASE) + a)
1da177e4
LT
40
41/* vsyscall space (readonly) */
42extern struct vxtime_data __vxtime;
43extern struct timespec __xtime;
44extern volatile unsigned long __jiffies;
45extern unsigned long __wall_jiffies;
46extern struct timezone __sys_tz;
47extern seqlock_t __xtime_lock;
48
49/* kernel space (writeable) */
50extern struct vxtime_data vxtime;
51extern unsigned long wall_jiffies;
52extern struct timezone sys_tz;
53extern int sysctl_vsyscall;
54extern seqlock_t xtime_lock;
55
312df5f1
AK
56extern int sysctl_vsyscall;
57
1da177e4
LT
58#define ARCH_HAVE_XTIME_LOCK 1
59
60#endif /* __KERNEL__ */
61
62#endif /* _ASM_X86_64_VSYSCALL_H_ */
This page took 0.257304 seconds and 5 git commands to generate.