linux/arch/mn10300/kernel/asm-offsets.c
<<
>>
Prefs
   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_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}
 111