PageRenderTime 28ms CodeModel.GetById 13ms app.highlight 11ms RepoModel.GetById 2ms app.codeStats 0ms

/arch/mn10300/kernel/asm-offsets.c

http://github.com/mirrors/linux
C | 107 lines | 91 code | 11 blank | 5 comment | 0 complexity | 4e78d5b5b6596e2bc8c788b36dc42ac2 MD5 | raw file
  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_frame,		thread_info, frame);
 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	BLANK();
 31
 32	OFFSET(REG_D0,			pt_regs, d0);
 33	OFFSET(REG_D1,			pt_regs, d1);
 34	OFFSET(REG_D2,			pt_regs, d2);
 35	OFFSET(REG_D3,			pt_regs, d3);
 36	OFFSET(REG_A0,			pt_regs, a0);
 37	OFFSET(REG_A1,			pt_regs, a1);
 38	OFFSET(REG_A2,			pt_regs, a2);
 39	OFFSET(REG_A3,			pt_regs, a3);
 40	OFFSET(REG_E0,			pt_regs, e0);
 41	OFFSET(REG_E1,			pt_regs, e1);
 42	OFFSET(REG_E2,			pt_regs, e2);
 43	OFFSET(REG_E3,			pt_regs, e3);
 44	OFFSET(REG_E4,			pt_regs, e4);
 45	OFFSET(REG_E5,			pt_regs, e5);
 46	OFFSET(REG_E6,			pt_regs, e6);
 47	OFFSET(REG_E7,			pt_regs, e7);
 48	OFFSET(REG_SP,			pt_regs, sp);
 49	OFFSET(REG_EPSW,		pt_regs, epsw);
 50	OFFSET(REG_PC,			pt_regs, pc);
 51	OFFSET(REG_LAR,			pt_regs, lar);
 52	OFFSET(REG_LIR,			pt_regs, lir);
 53	OFFSET(REG_MDR,			pt_regs, mdr);
 54	OFFSET(REG_MCVF,		pt_regs, mcvf);
 55	OFFSET(REG_MCRL,		pt_regs, mcrl);
 56	OFFSET(REG_MCRH,		pt_regs, mcrh);
 57	OFFSET(REG_MDRQ,		pt_regs, mdrq);
 58	OFFSET(REG_ORIG_D0,		pt_regs, orig_d0);
 59	OFFSET(REG_NEXT,		pt_regs, next);
 60	DEFINE(REG__END,		sizeof(struct pt_regs));
 61	BLANK();
 62
 63	OFFSET(THREAD_UREGS,		thread_struct, uregs);
 64	OFFSET(THREAD_PC,		thread_struct, pc);
 65	OFFSET(THREAD_SP,		thread_struct, sp);
 66	OFFSET(THREAD_A3,		thread_struct, a3);
 67	OFFSET(THREAD_USP,		thread_struct, usp);
 68#ifdef CONFIG_FPU
 69	OFFSET(THREAD_FPU_FLAGS,	thread_struct, fpu_flags);
 70	OFFSET(THREAD_FPU_STATE,	thread_struct, fpu_state);
 71	DEFINE(__THREAD_USING_FPU,	THREAD_USING_FPU);
 72	DEFINE(__THREAD_HAS_FPU,	THREAD_HAS_FPU);
 73#endif /* CONFIG_FPU */
 74	BLANK();
 75
 76	OFFSET(TASK_THREAD,		task_struct, thread);
 77	BLANK();
 78
 79	DEFINE(CLONE_VM_asm,		CLONE_VM);
 80	DEFINE(CLONE_FS_asm,		CLONE_FS);
 81	DEFINE(CLONE_FILES_asm,		CLONE_FILES);
 82	DEFINE(CLONE_SIGHAND_asm,	CLONE_SIGHAND);
 83	DEFINE(CLONE_UNTRACED_asm,	CLONE_UNTRACED);
 84	DEFINE(SIGCHLD_asm,		SIGCHLD);
 85	BLANK();
 86
 87	OFFSET(RT_SIGFRAME_sigcontext,	rt_sigframe, uc.uc_mcontext);
 88
 89	DEFINE(PAGE_SIZE_asm,		PAGE_SIZE);
 90
 91	OFFSET(__rx_buffer,		mn10300_serial_port, rx_buffer);
 92	OFFSET(__rx_inp,		mn10300_serial_port, rx_inp);
 93	OFFSET(__rx_outp,		mn10300_serial_port, rx_outp);
 94	OFFSET(__uart_state,		mn10300_serial_port, uart.state);
 95	OFFSET(__tx_xchar,		mn10300_serial_port, tx_xchar);
 96	OFFSET(__tx_flags,		mn10300_serial_port, tx_flags);
 97	OFFSET(__intr_flags,		mn10300_serial_port, intr_flags);
 98	OFFSET(__rx_icr,		mn10300_serial_port, rx_icr);
 99	OFFSET(__tx_icr,		mn10300_serial_port, tx_icr);
100	OFFSET(__tm_icr,		mn10300_serial_port, _tmicr);
101	OFFSET(__iobase,		mn10300_serial_port, _iobase);
102
103	DEFINE(__UART_XMIT_SIZE,	UART_XMIT_SIZE);
104	OFFSET(__xmit_buffer,		uart_state, xmit.buf);
105	OFFSET(__xmit_head,		uart_state, xmit.head);
106	OFFSET(__xmit_tail,		uart_state, xmit.tail);
107}