Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / arch / mn10300 / kernel / asm-offsets.c
1 /*
2  * Generate definitions needed by assembly language modules.
3  * This code generates raw asm output which is post-processed
4  * to extract and format the required data.
5  */
6
7 #include <linux/sched.h>
8 #include <linux/signal.h>
9 #include <linux/personality.h>
10 #include <linux/kbuild.h>
11 #include <asm/ucontext.h>
12 #include <asm/processor.h>
13 #include <asm/thread_info.h>
14 #include <asm/ptrace.h>
15 #include "sigframe.h"
16 #include "mn10300-serial.h"
17
18 void foo(void)
19 {
20         OFFSET(SIGCONTEXT_d0, sigcontext, d0);
21         OFFSET(SIGCONTEXT_d1, sigcontext, d1);
22         BLANK();
23
24         OFFSET(TI_task,                 thread_info, task);
25         OFFSET(TI_exec_domain,          thread_info, exec_domain);
26         OFFSET(TI_frame,                thread_info, frame);
27         OFFSET(TI_flags,                thread_info, flags);
28         OFFSET(TI_cpu,                  thread_info, cpu);
29         OFFSET(TI_preempt_count,        thread_info, preempt_count);
30         OFFSET(TI_addr_limit,           thread_info, addr_limit);
31         OFFSET(TI_restart_block,        thread_info, restart_block);
32         BLANK();
33
34         OFFSET(REG_D0,                  pt_regs, d0);
35         OFFSET(REG_D1,                  pt_regs, d1);
36         OFFSET(REG_D2,                  pt_regs, d2);
37         OFFSET(REG_D3,                  pt_regs, d3);
38         OFFSET(REG_A0,                  pt_regs, a0);
39         OFFSET(REG_A1,                  pt_regs, a1);
40         OFFSET(REG_A2,                  pt_regs, a2);
41         OFFSET(REG_A3,                  pt_regs, a3);
42         OFFSET(REG_E0,                  pt_regs, e0);
43         OFFSET(REG_E1,                  pt_regs, e1);
44         OFFSET(REG_E2,                  pt_regs, e2);
45         OFFSET(REG_E3,                  pt_regs, e3);
46         OFFSET(REG_E4,                  pt_regs, e4);
47         OFFSET(REG_E5,                  pt_regs, e5);
48         OFFSET(REG_E6,                  pt_regs, e6);
49         OFFSET(REG_E7,                  pt_regs, e7);
50         OFFSET(REG_SP,                  pt_regs, sp);
51         OFFSET(REG_EPSW,                pt_regs, epsw);
52         OFFSET(REG_PC,                  pt_regs, pc);
53         OFFSET(REG_LAR,                 pt_regs, lar);
54         OFFSET(REG_LIR,                 pt_regs, lir);
55         OFFSET(REG_MDR,                 pt_regs, mdr);
56         OFFSET(REG_MCVF,                pt_regs, mcvf);
57         OFFSET(REG_MCRL,                pt_regs, mcrl);
58         OFFSET(REG_MCRH,                pt_regs, mcrh);
59         OFFSET(REG_MDRQ,                pt_regs, mdrq);
60         OFFSET(REG_ORIG_D0,             pt_regs, orig_d0);
61         OFFSET(REG_NEXT,                pt_regs, next);
62         DEFINE(REG__END,                sizeof(struct pt_regs));
63         BLANK();
64
65         OFFSET(THREAD_UREGS,            thread_struct, uregs);
66         OFFSET(THREAD_PC,               thread_struct, pc);
67         OFFSET(THREAD_SP,               thread_struct, sp);
68         OFFSET(THREAD_A3,               thread_struct, a3);
69         OFFSET(THREAD_USP,              thread_struct, usp);
70 #ifdef CONFIG_FPU
71         OFFSET(THREAD_FPU_FLAGS,        thread_struct, fpu_flags);
72         OFFSET(THREAD_FPU_STATE,        thread_struct, fpu_state);
73         DEFINE(__THREAD_USING_FPU,      THREAD_USING_FPU);
74         DEFINE(__THREAD_HAS_FPU,        THREAD_HAS_FPU);
75 #endif /* CONFIG_FPU */
76         BLANK();
77
78         OFFSET(TASK_THREAD,             task_struct, thread);
79         BLANK();
80
81         DEFINE(CLONE_VM_asm,            CLONE_VM);
82         DEFINE(CLONE_FS_asm,            CLONE_FS);
83         DEFINE(CLONE_FILES_asm,         CLONE_FILES);
84         DEFINE(CLONE_SIGHAND_asm,       CLONE_SIGHAND);
85         DEFINE(CLONE_UNTRACED_asm,      CLONE_UNTRACED);
86         DEFINE(SIGCHLD_asm,             SIGCHLD);
87         BLANK();
88
89         OFFSET(EXEC_DOMAIN_handler,     exec_domain, handler);
90         OFFSET(RT_SIGFRAME_sigcontext,  rt_sigframe, uc.uc_mcontext);
91
92         DEFINE(PAGE_SIZE_asm,           PAGE_SIZE);
93
94         OFFSET(__rx_buffer,             mn10300_serial_port, rx_buffer);
95         OFFSET(__rx_inp,                mn10300_serial_port, rx_inp);
96         OFFSET(__rx_outp,               mn10300_serial_port, rx_outp);
97         OFFSET(__uart_state,            mn10300_serial_port, uart.state);
98         OFFSET(__tx_xchar,              mn10300_serial_port, tx_xchar);
99         OFFSET(__tx_break,              mn10300_serial_port, tx_break);
100         OFFSET(__intr_flags,            mn10300_serial_port, intr_flags);
101         OFFSET(__rx_icr,                mn10300_serial_port, rx_icr);
102         OFFSET(__tx_icr,                mn10300_serial_port, tx_icr);
103         OFFSET(__tm_icr,                mn10300_serial_port, _tmicr);
104         OFFSET(__iobase,                mn10300_serial_port, _iobase);
105
106         DEFINE(__UART_XMIT_SIZE,        UART_XMIT_SIZE);
107         OFFSET(__xmit_buffer,           uart_state, xmit.buf);
108         OFFSET(__xmit_head,             uart_state, xmit.head);
109         OFFSET(__xmit_tail,             uart_state, xmit.tail);
110 }