1#include <linux/kbuild.h> 2#include <linux/sched.h> 3#include <asm/thread_info.h> 4 5/* 6 * Generate definitions needed by assembly language modules. 7 * This code generates raw asm output which is post-processed to extract 8 * and format the required data. 9 */ 10 11#if !defined(CONFIG_ETRAX_ARCH_V10) && !defined(CONFIG_ETRAX_ARCH_V32) 12#error One of ARCH v10 and ARCH v32 must be true! 13#endif 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#ifdef CONFIG_ETRAX_ARCH_V32 25 ENTRY(acr); 26 ENTRY(srs); 27#endif 28 ENTRY(mof); 29#ifdef CONFIG_ETRAX_ARCH_V10 30 ENTRY(dccr); 31#else 32 ENTRY(ccs); 33#endif 34 ENTRY(srp); 35 BLANK(); 36#undef ENTRY 37#define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry)) 38 ENTRY(task); 39 ENTRY(flags); 40 ENTRY(preempt_count); 41 BLANK(); 42#undef ENTRY 43#define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry)) 44 ENTRY(ksp); 45 ENTRY(usp); 46#ifdef CONFIG_ETRAX_ARCH_V10 47 ENTRY(dccr); 48#else 49 ENTRY(ccs); 50#endif 51 BLANK(); 52#undef ENTRY 53#define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry)) 54 ENTRY(pid); 55 BLANK(); 56 DEFINE(LCLONE_VM, CLONE_VM); 57 DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED); 58 return 0; 59} 60