blob: 6dcff0f7f8d7883cc9c1c5f713a7754729503b19 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _ASM_ARM_MODULE_H
2#define _ASM_ARM_MODULE_H
3
Linus Torvalds1da177e2005-04-16 15:20:36 -07004#define Elf_Shdr Elf32_Shdr
5#define Elf_Sym Elf32_Sym
6#define Elf_Ehdr Elf32_Ehdr
7
Catalin Marinas2e1926e2009-02-11 13:09:54 +01008struct unwind_table;
9
Catalin Marinas2e1926e2009-02-11 13:09:54 +010010#ifdef CONFIG_ARM_UNWIND
Phil Carmodye5f77722010-08-19 15:16:37 +010011struct arm_unwind_mapping {
12 Elf_Shdr *unw_sec;
13 Elf_Shdr *sec_text;
14 struct unwind_table *unwind;
Catalin Marinas2e1926e2009-02-11 13:09:54 +010015};
Phil Carmodye5f77722010-08-19 15:16:37 +010016enum {
17 ARM_SEC_INIT,
18 ARM_SEC_DEVINIT,
19 ARM_SEC_CORE,
20 ARM_SEC_MAX,
21};
22struct mod_arch_specific {
23 struct arm_unwind_mapping map[ARM_SEC_MAX];
24};
25#else
26struct mod_arch_specific {
27};
28#endif
Catalin Marinas2e1926e2009-02-11 13:09:54 +010029
Linus Torvalds1da177e2005-04-16 15:20:36 -070030/*
31 * Include the ARM architecture version.
32 */
33#define MODULE_ARCH_VERMAGIC "ARMv" __stringify(__LINUX_ARM_ARCH__) " "
34
35#endif /* _ASM_ARM_MODULE_H */