linux/arch/cris/arch-v32/kernel/asm-offsets.c
<<
>>
Prefs
   1#include <linux/sched.h>
   2#include <asm/thread_info.h>
   3
   4/*
   5 * Generate definitions needed by assembly language modules.
   6 * This code generates raw asm output which is post-processed to extract
   7 * and format the required data.
   8 */
   9
  10#define DEFINE(sym, val) \
  11        asm volatile("\n->" #sym " %0 " #val : : "i" (val))
  12
  13#define BLANK() asm volatile("\n->" : : )
  14
  15int main(void)
  16{
  17#define ENTRY(entry) DEFINE(PT_ ## entry, offsetof(struct pt_regs, entry))
  18        ENTRY(orig_r10);
  19        ENTRY(r13);
  20        ENTRY(r12);
  21        ENTRY(r11);
  22        ENTRY(r10);
  23        ENTRY(r9);
  24        ENTRY(acr);
  25        ENTRY(srs);
  26        ENTRY(mof);
  27        ENTRY(ccs);
  28        ENTRY(srp);
  29        BLANK();
  30#undef ENTRY
  31#define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry))
  32        ENTRY(task);
  33        ENTRY(flags);
  34        ENTRY(preempt_count);
  35        BLANK();
  36#undef ENTRY
  37#define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry))
  38        ENTRY(ksp);
  39        ENTRY(usp);
  40        ENTRY(ccs);
  41        BLANK();
  42#undef ENTRY
  43#define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry))
  44        ENTRY(pid);
  45        BLANK();
  46        DEFINE(LCLONE_VM, CLONE_VM);
  47        DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED);
  48        return 0;
  49}
  50