1
2 #ifndef __S390_VDSO_H__
3 #define __S390_VDSO_H__
4
5
6 #define VDSO32_LBASE 0
7 #define VDSO64_LBASE 0
8
9 #define VDSO_VERSION_STRING LINUX_2.6.29
10
11 #ifndef __ASSEMBLY__
12
13
14
15
16
17
18
19
20
21 struct vdso_data {
22 __u64 tb_update_count;
23 __u64 xtime_tod_stamp;
24 __u64 xtime_clock_sec;
25 __u64 xtime_clock_nsec;
26 __u64 xtime_coarse_sec;
27 __u64 xtime_coarse_nsec;
28 __u64 wtom_clock_sec;
29 __u64 wtom_clock_nsec;
30 __u64 wtom_coarse_sec;
31 __u64 wtom_coarse_nsec;
32 __u32 tz_minuteswest;
33 __u32 tz_dsttime;
34 __u32 ectg_available;
35 __u32 tk_mult;
36 __u32 tk_shift;
37 __u32 ts_dir;
38 __u64 ts_end;
39 };
40
41 struct vdso_per_cpu_data {
42 __u64 ectg_timer_base;
43 __u64 ectg_user_time;
44 __u32 cpu_nr;
45 __u32 node_id;
46 };
47
48 extern struct vdso_data *vdso_data;
49 extern struct vdso_data boot_vdso_data;
50
51 void vdso_alloc_boot_cpu(struct lowcore *lowcore);
52 int vdso_alloc_per_cpu(struct lowcore *lowcore);
53 void vdso_free_per_cpu(struct lowcore *lowcore);
54
55 #endif
56 #endif