12345678910111213141516171819202122232425 |
- /*
- * Generate definitions needed by assembly language modules.
- * This code generates raw asm output which is post-processed
- * to extract and format the required data.
- */
- #include <linux/thread_info.h>
- #define DEFINE(sym, val) \
- asm volatile("\n->" #sym " %0 " #val : : "i" (val))
- #define BLANK() asm volatile("\n->" : : )
- #define OFFSET(sym, str, mem) \
- DEFINE(sym, offsetof(struct str, mem));
- void foo(void)
- {
- OFFSET(TI_task, thread_info, task);
- OFFSET(TI_exec_domain, thread_info, exec_domain);
- OFFSET(TI_flags, thread_info, flags);
- OFFSET(TI_cpu, thread_info, cpu);
- OFFSET(TI_preempt_count, thread_info, preempt_count);
- OFFSET(TI_restart_block, thread_info, restart_block);
- }
|