2 * This program is used to generate definitions needed by
3 * assembly language modules.
5 * We use the technique used in the OSF Mach kernel code:
6 * generate asm statements containing #defines,
7 * compile this file to assembler, and then extract the
8 * #defines from the assembly-language output.
11 #include <linux/stddef.h>
12 #include <linux/sched.h>
13 #include <linux/kernel_stat.h>
14 #include <linux/ptrace.h>
15 #include <linux/hardirq.h>
16 #include <linux/kbuild.h>
17 #include <asm/bootinfo.h>
19 #include <asm/ptrace.h>
23 /* offsets into the task struct */
24 DEFINE(TASK_STATE
, offsetof(struct task_struct
, state
));
25 DEFINE(TASK_FLAGS
, offsetof(struct task_struct
, flags
));
26 DEFINE(TASK_PTRACE
, offsetof(struct task_struct
, ptrace
));
27 DEFINE(TASK_BLOCKED
, offsetof(struct task_struct
, blocked
));
28 DEFINE(TASK_THREAD
, offsetof(struct task_struct
, thread
));
29 DEFINE(TASK_THREAD_INFO
, offsetof(struct task_struct
, stack
));
30 DEFINE(TASK_MM
, offsetof(struct task_struct
, mm
));
31 DEFINE(TASK_ACTIVE_MM
, offsetof(struct task_struct
, active_mm
));
33 /* offsets into the irq_cpustat_t struct */
34 DEFINE(CPUSTAT_SOFTIRQ_PENDING
, offsetof(irq_cpustat_t
, __softirq_pending
));
36 /* offsets into the thread struct */
37 DEFINE(THREAD_KSP
, offsetof(struct thread_struct
, ksp
));
38 DEFINE(THREAD_USP
, offsetof(struct thread_struct
, usp
));
39 DEFINE(THREAD_CCR
, offsetof(struct thread_struct
, ccr
));
41 /* offsets into the pt_regs struct */
42 DEFINE(LER0
, offsetof(struct pt_regs
, er0
) - sizeof(long));
43 DEFINE(LER1
, offsetof(struct pt_regs
, er1
) - sizeof(long));
44 DEFINE(LER2
, offsetof(struct pt_regs
, er2
) - sizeof(long));
45 DEFINE(LER3
, offsetof(struct pt_regs
, er3
) - sizeof(long));
46 DEFINE(LER4
, offsetof(struct pt_regs
, er4
) - sizeof(long));
47 DEFINE(LER5
, offsetof(struct pt_regs
, er5
) - sizeof(long));
48 DEFINE(LER6
, offsetof(struct pt_regs
, er6
) - sizeof(long));
49 DEFINE(LORIG
, offsetof(struct pt_regs
, orig_er0
) - sizeof(long));
50 DEFINE(LCCR
, offsetof(struct pt_regs
, ccr
) - sizeof(long));
51 DEFINE(LVEC
, offsetof(struct pt_regs
, vector
) - sizeof(long));
52 #if defined(__H8300S__)
53 DEFINE(LEXR
, offsetof(struct pt_regs
, exr
) - sizeof(long));
55 DEFINE(LRET
, offsetof(struct pt_regs
, pc
) - sizeof(long));
57 DEFINE(PT_PTRACED
, PT_PTRACED
);