Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _ASM_ARM_MODULE_H |
2 | #define _ASM_ARM_MODULE_H | |
3 | ||
1da177e4 LT |
4 | #define Elf_Shdr Elf32_Shdr |
5 | #define Elf_Sym Elf32_Sym | |
6 | #define Elf_Ehdr Elf32_Ehdr | |
7 | ||
2e1926e7 CM |
8 | struct unwind_table; |
9 | ||
2e1926e7 | 10 | #ifdef CONFIG_ARM_UNWIND |
e5f7772e PC |
11 | enum { |
12 | ARM_SEC_INIT, | |
13 | ARM_SEC_DEVINIT, | |
14 | ARM_SEC_CORE, | |
09e56a2d PC |
15 | ARM_SEC_EXIT, |
16 | ARM_SEC_DEVEXIT, | |
e5f7772e PC |
17 | ARM_SEC_MAX, |
18 | }; | |
8931360e RK |
19 | #endif |
20 | ||
e5f7772e | 21 | struct mod_arch_specific { |
8931360e RK |
22 | #ifdef CONFIG_ARM_UNWIND |
23 | struct unwind_table *unwind[ARM_SEC_MAX]; | |
e5f7772e | 24 | #endif |
8931360e | 25 | }; |
2e1926e7 | 26 | |
1da177e4 | 27 | /* |
dc21af99 | 28 | * Add the ARM architecture version to the version magic string |
1da177e4 | 29 | */ |
dc21af99 RK |
30 | #define MODULE_ARCH_VERMAGIC_ARMVSN "ARMv" __stringify(__LINUX_ARM_ARCH__) " " |
31 | ||
32 | /* Add __virt_to_phys patching state as well */ | |
33 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT | |
34 | #define MODULE_ARCH_VERMAGIC_P2V "p2v8 " | |
35 | #else | |
36 | #define MODULE_ARCH_VERMAGIC_P2V "" | |
37 | #endif | |
38 | ||
80f0aad7 DM |
39 | /* Add instruction set architecture tag to distinguish ARM/Thumb kernels */ |
40 | #ifdef CONFIG_THUMB2_KERNEL | |
41 | #define MODULE_ARCH_VERMAGIC_ARMTHUMB "thumb2 " | |
42 | #else | |
43 | #define MODULE_ARCH_VERMAGIC_ARMTHUMB "" | |
44 | #endif | |
45 | ||
dc21af99 RK |
46 | #define MODULE_ARCH_VERMAGIC \ |
47 | MODULE_ARCH_VERMAGIC_ARMVSN \ | |
80f0aad7 | 48 | MODULE_ARCH_VERMAGIC_ARMTHUMB \ |
dc21af99 | 49 | MODULE_ARCH_VERMAGIC_P2V |
1da177e4 LT |
50 | |
51 | #endif /* _ASM_ARM_MODULE_H */ |