• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/arch/mn10300/kernel/
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
18void 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_flags,		thread_info, flags);
27	OFFSET(TI_cpu,			thread_info, cpu);
28	OFFSET(TI_preempt_count,	thread_info, preempt_count);
29	OFFSET(TI_addr_limit,		thread_info, addr_limit);
30	OFFSET(TI_restart_block,	thread_info, restart_block);
31	BLANK();
32
33	OFFSET(REG_D0,			pt_regs, d0);
34	OFFSET(REG_D1,			pt_regs, d1);
35	OFFSET(REG_D2,			pt_regs, d2);
36	OFFSET(REG_D3,			pt_regs, d3);
37	OFFSET(REG_A0,			pt_regs, a0);
38	OFFSET(REG_A1,			pt_regs, a1);
39	OFFSET(REG_A2,			pt_regs, a2);
40	OFFSET(REG_A3,			pt_regs, a3);
41	OFFSET(REG_E0,			pt_regs, e0);
42	OFFSET(REG_E1,			pt_regs, e1);
43	OFFSET(REG_E2,			pt_regs, e2);
44	OFFSET(REG_E3,			pt_regs, e3);
45	OFFSET(REG_E4,			pt_regs, e4);
46	OFFSET(REG_E5,			pt_regs, e5);
47	OFFSET(REG_E6,			pt_regs, e6);
48	OFFSET(REG_E7,			pt_regs, e7);
49	OFFSET(REG_SP,			pt_regs, sp);
50	OFFSET(REG_EPSW,		pt_regs, epsw);
51	OFFSET(REG_PC,			pt_regs, pc);
52	OFFSET(REG_LAR,			pt_regs, lar);
53	OFFSET(REG_LIR,			pt_regs, lir);
54	OFFSET(REG_MDR,			pt_regs, mdr);
55	OFFSET(REG_MCVF,		pt_regs, mcvf);
56	OFFSET(REG_MCRL,		pt_regs, mcrl);
57	OFFSET(REG_MCRH,		pt_regs, mcrh);
58	OFFSET(REG_MDRQ,		pt_regs, mdrq);
59	OFFSET(REG_ORIG_D0,		pt_regs, orig_d0);
60	OFFSET(REG_NEXT,		pt_regs, next);
61	DEFINE(REG__END,		sizeof(struct pt_regs));
62	BLANK();
63
64	OFFSET(THREAD_UREGS,		thread_struct, uregs);
65	OFFSET(THREAD_PC,		thread_struct, pc);
66	OFFSET(THREAD_SP,		thread_struct, sp);
67	OFFSET(THREAD_A3,		thread_struct, a3);
68	OFFSET(THREAD_USP,		thread_struct, usp);
69	OFFSET(THREAD_FRAME,		thread_struct, __frame);
70	BLANK();
71
72	DEFINE(CLONE_VM_asm,		CLONE_VM);
73	DEFINE(CLONE_FS_asm,		CLONE_FS);
74	DEFINE(CLONE_FILES_asm,		CLONE_FILES);
75	DEFINE(CLONE_SIGHAND_asm,	CLONE_SIGHAND);
76	DEFINE(CLONE_UNTRACED_asm,	CLONE_UNTRACED);
77	DEFINE(SIGCHLD_asm,		SIGCHLD);
78	BLANK();
79
80	OFFSET(EXEC_DOMAIN_handler,	exec_domain, handler);
81	OFFSET(RT_SIGFRAME_sigcontext,	rt_sigframe, uc.uc_mcontext);
82
83	DEFINE(PAGE_SIZE_asm,		PAGE_SIZE);
84
85	OFFSET(__rx_buffer,		mn10300_serial_port, rx_buffer);
86	OFFSET(__rx_inp,		mn10300_serial_port, rx_inp);
87	OFFSET(__rx_outp,		mn10300_serial_port, rx_outp);
88	OFFSET(__uart_state,		mn10300_serial_port, uart.state);
89	OFFSET(__tx_xchar,		mn10300_serial_port, tx_xchar);
90	OFFSET(__tx_break,		mn10300_serial_port, tx_break);
91	OFFSET(__intr_flags,		mn10300_serial_port, intr_flags);
92	OFFSET(__rx_icr,		mn10300_serial_port, rx_icr);
93	OFFSET(__tx_icr,		mn10300_serial_port, tx_icr);
94	OFFSET(__tm_icr,		mn10300_serial_port, _tmicr);
95	OFFSET(__iobase,		mn10300_serial_port, _iobase);
96
97	DEFINE(__UART_XMIT_SIZE,	UART_XMIT_SIZE);
98	OFFSET(__xmit_buffer,		uart_state, xmit.buf);
99	OFFSET(__xmit_head,		uart_state, xmit.head);
100	OFFSET(__xmit_tail,		uart_state, xmit.tail);
101}
102