| David Howells | b920de1 | 2008-02-08 04:19:31 -0800 | [diff] [blame] | 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> | 
| Christoph Lameter | 59957fc | 2008-04-29 01:04:07 -0700 | [diff] [blame] | 10 | #include <linux/kbuild.h> | 
| David Howells | b920de1 | 2008-02-08 04:19:31 -0800 | [diff] [blame] | 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 |  | 
| David Howells | b920de1 | 2008-02-08 04:19:31 -0800 | [diff] [blame] | 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_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); | 
| David Howells | 7043078 | 2009-09-23 10:40:24 +0100 | [diff] [blame] | 88 | OFFSET(__uart_state,		mn10300_serial_port, uart.state); | 
| David Howells | b920de1 | 2008-02-08 04:19:31 -0800 | [diff] [blame] | 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); | 
| Alan Cox | ebd2c8f | 2009-09-19 13:13:28 -0700 | [diff] [blame] | 98 | OFFSET(__xmit_buffer,		uart_state, xmit.buf); | 
|  | 99 | OFFSET(__xmit_head,		uart_state, xmit.head); | 
|  | 100 | OFFSET(__xmit_tail,		uart_state, xmit.tail); | 
| David Howells | b920de1 | 2008-02-08 04:19:31 -0800 | [diff] [blame] | 101 | } |