Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Generate definitions needed by assembly language modules. | |
3 | * This code generates raw asm output which is post-processed to extract | |
4 | * and format the required data. | |
5 | */ | |
6 | ||
1da177e4 | 7 | #include <linux/sched.h> |
7a88d7a8 | 8 | #include <linux/kbuild.h> |
b020632e | 9 | #include <asm/vdso.h> |
1aaf179d | 10 | #include <asm/sigp.h> |
1da177e4 | 11 | |
1da177e4 LT |
12 | int main(void) |
13 | { | |
4ca4d7bf CL |
14 | DEFINE(__THREAD_info, offsetof(struct task_struct, stack)); |
15 | DEFINE(__THREAD_ksp, offsetof(struct task_struct, thread.ksp)); | |
16 | DEFINE(__THREAD_per, offsetof(struct task_struct, thread.per_info)); | |
1da177e4 | 17 | DEFINE(__THREAD_mm_segment, |
4ca4d7bf | 18 | offsetof(struct task_struct, thread.mm_segment)); |
1da177e4 | 19 | BLANK(); |
4ca4d7bf | 20 | DEFINE(__TASK_pid, offsetof(struct task_struct, pid)); |
1da177e4 | 21 | BLANK(); |
4ca4d7bf CL |
22 | DEFINE(__PER_atmid, offsetof(per_struct, lowcore.words.perc_atmid)); |
23 | DEFINE(__PER_address, offsetof(per_struct, lowcore.words.address)); | |
24 | DEFINE(__PER_access_id, offsetof(per_struct, lowcore.words.access_id)); | |
1da177e4 | 25 | BLANK(); |
4ca4d7bf CL |
26 | DEFINE(__TI_task, offsetof(struct thread_info, task)); |
27 | DEFINE(__TI_domain, offsetof(struct thread_info, exec_domain)); | |
28 | DEFINE(__TI_flags, offsetof(struct thread_info, flags)); | |
29 | DEFINE(__TI_cpu, offsetof(struct thread_info, cpu)); | |
30 | DEFINE(__TI_precount, offsetof(struct thread_info, preempt_count)); | |
5b409ed1 MS |
31 | DEFINE(__TI_user_timer, offsetof(struct thread_info, user_timer)); |
32 | DEFINE(__TI_system_timer, offsetof(struct thread_info, system_timer)); | |
1da177e4 | 33 | BLANK(); |
4ca4d7bf CL |
34 | DEFINE(__PT_ARGS, offsetof(struct pt_regs, args)); |
35 | DEFINE(__PT_PSW, offsetof(struct pt_regs, psw)); | |
36 | DEFINE(__PT_GPRS, offsetof(struct pt_regs, gprs)); | |
37 | DEFINE(__PT_ORIG_GPR2, offsetof(struct pt_regs, orig_gpr2)); | |
38 | DEFINE(__PT_ILC, offsetof(struct pt_regs, ilc)); | |
59da2139 | 39 | DEFINE(__PT_SVCNR, offsetof(struct pt_regs, svcnr)); |
4ca4d7bf | 40 | DEFINE(__PT_SIZE, sizeof(struct pt_regs)); |
1da177e4 | 41 | BLANK(); |
4ca4d7bf CL |
42 | DEFINE(__SF_BACKCHAIN, offsetof(struct stack_frame, back_chain)); |
43 | DEFINE(__SF_GPRS, offsetof(struct stack_frame, gprs)); | |
44 | DEFINE(__SF_EMPTY, offsetof(struct stack_frame, empty1)); | |
b020632e MS |
45 | BLANK(); |
46 | /* timeval/timezone offsets for use by vdso */ | |
47 | DEFINE(__VDSO_UPD_COUNT, offsetof(struct vdso_data, tb_update_count)); | |
48 | DEFINE(__VDSO_XTIME_STAMP, offsetof(struct vdso_data, xtime_tod_stamp)); | |
49 | DEFINE(__VDSO_XTIME_SEC, offsetof(struct vdso_data, xtime_clock_sec)); | |
50 | DEFINE(__VDSO_XTIME_NSEC, offsetof(struct vdso_data, xtime_clock_nsec)); | |
51 | DEFINE(__VDSO_WTOM_SEC, offsetof(struct vdso_data, wtom_clock_sec)); | |
52 | DEFINE(__VDSO_WTOM_NSEC, offsetof(struct vdso_data, wtom_clock_nsec)); | |
53 | DEFINE(__VDSO_TIMEZONE, offsetof(struct vdso_data, tz_minuteswest)); | |
c742b31c MS |
54 | DEFINE(__VDSO_ECTG_OK, offsetof(struct vdso_data, ectg_available)); |
55 | DEFINE(__VDSO_ECTG_BASE, | |
56 | offsetof(struct vdso_per_cpu_data, ectg_timer_base)); | |
57 | DEFINE(__VDSO_ECTG_USER, | |
58 | offsetof(struct vdso_per_cpu_data, ectg_user_time)); | |
b020632e MS |
59 | /* constants used by the vdso */ |
60 | DEFINE(CLOCK_REALTIME, CLOCK_REALTIME); | |
61 | DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC); | |
62 | DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC); | |
1aaf179d MH |
63 | /* constants for SIGP */ |
64 | DEFINE(__SIGP_STOP, sigp_stop); | |
65 | DEFINE(__SIGP_RESTART, sigp_restart); | |
66 | DEFINE(__SIGP_SENSE, sigp_sense); | |
67 | DEFINE(__SIGP_INITIAL_CPU_RESET, sigp_initial_cpu_reset); | |
1da177e4 LT |
68 | return 0; |
69 | } |