blob: cbb0bc295d2b184d380e63920dcb55930c7b76b7 [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,
Phil Carmody09e56a22010-08-19 15:19:04 +010020 ARM_SEC_EXIT,
21 ARM_SEC_DEVEXIT,
Phil Carmodye5f77722010-08-19 15:16:37 +010022 ARM_SEC_MAX,
23};
24struct mod_arch_specific {
25 struct arm_unwind_mapping map[ARM_SEC_MAX];
26};
27#else
28struct mod_arch_specific {
29};
30#endif
Catalin Marinas2e1926e2009-02-11 13:09:54 +010031
Linus Torvalds1da177e2005-04-16 15:20:36 -070032/*
33 * Include the ARM architecture version.
34 */
35#define MODULE_ARCH_VERMAGIC "ARMv" __stringify(__LINUX_ARM_ARCH__) " "
36
37#endif /* _ASM_ARM_MODULE_H */