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.
7 #include <linux/sched.h>
8 #include <linux/kbuild.h>
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
));
17 DEFINE(__THREAD_mm_segment
,
18 offsetof(struct task_struct
, thread
.mm_segment
));
20 DEFINE(__TASK_pid
, offsetof(struct task_struct
, pid
));
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
));
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
));
31 DEFINE(__TI_user_timer
, offsetof(struct thread_info
, user_timer
));
32 DEFINE(__TI_system_timer
, offsetof(struct thread_info
, system_timer
));
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
));
39 DEFINE(__PT_SVCNR
, offsetof(struct pt_regs
, svcnr
));
40 DEFINE(__PT_SIZE
, sizeof(struct pt_regs
));
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
));
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
));
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
));
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
);
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
);