Commit | Line | Data |
---|---|---|
9b802d1f JH |
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 */ |