1 #ifndef _ASM_METAG_MODULE_H 2 #define _ASM_METAG_MODULE_H 3 4 #include <asm-generic/module.h> 5 6 struct metag_plt_entry { 7 /* Indirect jump instruction sequence. */ 8 unsigned long tramp[2]; 9 }; 10 11 struct mod_arch_specific { 12 /* Indices of PLT sections within module. */ 13 unsigned int core_plt_section, init_plt_section; 14 }; 15 16 #if defined CONFIG_METAG_META12 17 #define MODULE_PROC_FAMILY "META 1.2 " 18 #elif defined CONFIG_METAG_META21 19 #define MODULE_PROC_FAMILY "META 2.1 " 20 #else 21 #define MODULE_PROC_FAMILY "" 22 #endif 23 24 #ifdef CONFIG_4KSTACKS 25 #define MODULE_STACKSIZE "4KSTACKS " 26 #else 27 #define MODULE_STACKSIZE "" 28 #endif 29 30 #define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE 31 32 #ifdef MODULE 33 asm(".section .plt,\"ax\",@progbits; .balign 8; .previous"); 34 asm(".section .init.plt,\"ax\",@progbits; .balign 8; .previous"); 35 #endif 36 37 #endif /* _ASM_METAG_MODULE_H */ 38