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>
13 DEFINE(__THREAD_info
, offsetof(struct task_struct
, stack
));
14 DEFINE(__THREAD_ksp
, offsetof(struct task_struct
, thread
.ksp
));
15 DEFINE(__THREAD_per
, offsetof(struct task_struct
, thread
.per_info
));
16 DEFINE(__THREAD_mm_segment
,
17 offsetof(struct task_struct
, thread
.mm_segment
));
19 DEFINE(__TASK_pid
, offsetof(struct task_struct
, pid
));
21 DEFINE(__PER_atmid
, offsetof(per_struct
, lowcore
.words
.perc_atmid
));
22 DEFINE(__PER_address
, offsetof(per_struct
, lowcore
.words
.address
));
23 DEFINE(__PER_access_id
, offsetof(per_struct
, lowcore
.words
.access_id
));
25 DEFINE(__TI_task
, offsetof(struct thread_info
, task
));
26 DEFINE(__TI_domain
, offsetof(struct thread_info
, exec_domain
));
27 DEFINE(__TI_flags
, offsetof(struct thread_info
, flags
));
28 DEFINE(__TI_cpu
, offsetof(struct thread_info
, cpu
));
29 DEFINE(__TI_precount
, offsetof(struct thread_info
, preempt_count
));
31 DEFINE(__PT_ARGS
, offsetof(struct pt_regs
, args
));
32 DEFINE(__PT_PSW
, offsetof(struct pt_regs
, psw
));
33 DEFINE(__PT_GPRS
, offsetof(struct pt_regs
, gprs
));
34 DEFINE(__PT_ORIG_GPR2
, offsetof(struct pt_regs
, orig_gpr2
));
35 DEFINE(__PT_ILC
, offsetof(struct pt_regs
, ilc
));
36 DEFINE(__PT_SVCNR
, offsetof(struct pt_regs
, svcnr
));
37 DEFINE(__PT_SIZE
, sizeof(struct pt_regs
));
39 DEFINE(__SF_BACKCHAIN
, offsetof(struct stack_frame
, back_chain
));
40 DEFINE(__SF_GPRS
, offsetof(struct stack_frame
, gprs
));
41 DEFINE(__SF_EMPTY
, offsetof(struct stack_frame
, empty1
));
43 /* timeval/timezone offsets for use by vdso */
44 DEFINE(__VDSO_UPD_COUNT
, offsetof(struct vdso_data
, tb_update_count
));
45 DEFINE(__VDSO_XTIME_STAMP
, offsetof(struct vdso_data
, xtime_tod_stamp
));
46 DEFINE(__VDSO_XTIME_SEC
, offsetof(struct vdso_data
, xtime_clock_sec
));
47 DEFINE(__VDSO_XTIME_NSEC
, offsetof(struct vdso_data
, xtime_clock_nsec
));
48 DEFINE(__VDSO_WTOM_SEC
, offsetof(struct vdso_data
, wtom_clock_sec
));
49 DEFINE(__VDSO_WTOM_NSEC
, offsetof(struct vdso_data
, wtom_clock_nsec
));
50 DEFINE(__VDSO_TIMEZONE
, offsetof(struct vdso_data
, tz_minuteswest
));
51 DEFINE(__VDSO_ECTG_OK
, offsetof(struct vdso_data
, ectg_available
));
52 DEFINE(__VDSO_ECTG_BASE
,
53 offsetof(struct vdso_per_cpu_data
, ectg_timer_base
));
54 DEFINE(__VDSO_ECTG_USER
,
55 offsetof(struct vdso_per_cpu_data
, ectg_user_time
));
56 /* constants used by the vdso */
57 DEFINE(CLOCK_REALTIME
, CLOCK_REALTIME
);
58 DEFINE(CLOCK_MONOTONIC
, CLOCK_MONOTONIC
);
59 DEFINE(CLOCK_REALTIME_RES
, MONOTONIC_RES_NSEC
);