• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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