blob: 82f96c574144cbc327daa8b5c82624014bb9cf83 [file] [log] [blame]
Al Viroa31769e2005-05-05 16:15:25 -07001#include <linux/stddef.h>
2#include <linux/sched.h>
viro@ZenIV.linux.org.uk95608262005-09-06 22:33:51 +01003#include <linux/elf.h>
Al Viroa31769e2005-05-05 16:15:25 -07004
5#define DEFINE(sym, val) \
Jeff Dike4ee189a2006-01-11 12:17:23 -08006 asm volatile("\n->" #sym " %0 " #val : : "i" (val))
Al Viroa31769e2005-05-05 16:15:25 -07007
8#define STR(x) #x
9#define DEFINE_STR(sym, val) asm volatile("\n->" #sym " " STR(val) " " #val: : )
10
11#define BLANK() asm volatile("\n->" : : )
12
13#define OFFSET(sym, str, mem) \
14 DEFINE(sym, offsetof(struct str, mem));
15
16void foo(void)
17{
Al Viroecba97d2005-09-28 22:27:23 +010018 OFFSET(HOST_TASK_DEBUGREGS, task_struct, thread.arch.debugregs);
Al Viroa31769e2005-05-05 16:15:25 -070019#ifdef CONFIG_MODE_TT
Al Viroecba97d2005-09-28 22:27:23 +010020 OFFSET(HOST_TASK_EXTERN_PID, task_struct, thread.mode.tt.extern_pid);
Al Viroa31769e2005-05-05 16:15:25 -070021#endif
22#include <common-offsets.h>
23}