diff options
Diffstat (limited to 'arch/m68k')
-rw-r--r-- | arch/m68k/include/asm/module.h | 51 | ||||
-rw-r--r-- | arch/m68k/include/asm/module_mm.h | 39 | ||||
-rw-r--r-- | arch/m68k/include/asm/module_no.h | 11 |
3 files changed, 47 insertions, 54 deletions
diff --git a/arch/m68k/include/asm/module.h b/arch/m68k/include/asm/module.h index 79b59d137dd0..5f21e11071bd 100644 --- a/arch/m68k/include/asm/module.h +++ b/arch/m68k/include/asm/module.h | |||
@@ -1,5 +1,48 @@ | |||
1 | #ifdef __uClinux__ | 1 | #ifndef _ASM_M68K_MODULE_H |
2 | #include "module_no.h" | 2 | #define _ASM_M68K_MODULE_H |
3 | |||
4 | #ifdef CONFIG_MMU | ||
5 | |||
6 | struct mod_arch_specific { | ||
7 | struct m68k_fixup_info *fixup_start, *fixup_end; | ||
8 | }; | ||
9 | |||
10 | #define MODULE_ARCH_INIT { \ | ||
11 | .fixup_start = __start_fixup, \ | ||
12 | .fixup_end = __stop_fixup, \ | ||
13 | } | ||
14 | |||
15 | |||
16 | enum m68k_fixup_type { | ||
17 | m68k_fixup_memoffset, | ||
18 | m68k_fixup_vnode_shift, | ||
19 | }; | ||
20 | |||
21 | struct m68k_fixup_info { | ||
22 | enum m68k_fixup_type type; | ||
23 | void *addr; | ||
24 | }; | ||
25 | |||
26 | #define m68k_fixup(type, addr) \ | ||
27 | " .section \".m68k_fixup\",\"aw\"\n" \ | ||
28 | " .long " #type "," #addr "\n" \ | ||
29 | " .previous\n" | ||
30 | |||
31 | extern struct m68k_fixup_info __start_fixup[], __stop_fixup[]; | ||
32 | |||
33 | struct module; | ||
34 | extern void module_fixup(struct module *mod, struct m68k_fixup_info *start, | ||
35 | struct m68k_fixup_info *end); | ||
36 | |||
3 | #else | 37 | #else |
4 | #include "module_mm.h" | 38 | |
5 | #endif | 39 | struct mod_arch_specific { |
40 | }; | ||
41 | |||
42 | #endif /* CONFIG_MMU */ | ||
43 | |||
44 | #define Elf_Shdr Elf32_Shdr | ||
45 | #define Elf_Sym Elf32_Sym | ||
46 | #define Elf_Ehdr Elf32_Ehdr | ||
47 | |||
48 | #endif /* _ASM_M68K_MODULE_H */ | ||
diff --git a/arch/m68k/include/asm/module_mm.h b/arch/m68k/include/asm/module_mm.h deleted file mode 100644 index 382d20a6fc18..000000000000 --- a/arch/m68k/include/asm/module_mm.h +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | #ifndef _ASM_M68K_MODULE_H | ||
2 | #define _ASM_M68K_MODULE_H | ||
3 | |||
4 | struct mod_arch_specific { | ||
5 | struct m68k_fixup_info *fixup_start, *fixup_end; | ||
6 | }; | ||
7 | |||
8 | #define MODULE_ARCH_INIT { \ | ||
9 | .fixup_start = __start_fixup, \ | ||
10 | .fixup_end = __stop_fixup, \ | ||
11 | } | ||
12 | |||
13 | #define Elf_Shdr Elf32_Shdr | ||
14 | #define Elf_Sym Elf32_Sym | ||
15 | #define Elf_Ehdr Elf32_Ehdr | ||
16 | |||
17 | |||
18 | enum m68k_fixup_type { | ||
19 | m68k_fixup_memoffset, | ||
20 | m68k_fixup_vnode_shift, | ||
21 | }; | ||
22 | |||
23 | struct m68k_fixup_info { | ||
24 | enum m68k_fixup_type type; | ||
25 | void *addr; | ||
26 | }; | ||
27 | |||
28 | #define m68k_fixup(type, addr) \ | ||
29 | " .section \".m68k_fixup\",\"aw\"\n" \ | ||
30 | " .long " #type "," #addr "\n" \ | ||
31 | " .previous\n" | ||
32 | |||
33 | extern struct m68k_fixup_info __start_fixup[], __stop_fixup[]; | ||
34 | |||
35 | struct module; | ||
36 | extern void module_fixup(struct module *mod, struct m68k_fixup_info *start, | ||
37 | struct m68k_fixup_info *end); | ||
38 | |||
39 | #endif /* _ASM_M68K_MODULE_H */ | ||
diff --git a/arch/m68k/include/asm/module_no.h b/arch/m68k/include/asm/module_no.h deleted file mode 100644 index 2e45ab50b232..000000000000 --- a/arch/m68k/include/asm/module_no.h +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | #ifndef ASM_M68KNOMMU_MODULE_H | ||
2 | #define ASM_M68KNOMMU_MODULE_H | ||
3 | |||
4 | struct mod_arch_specific { | ||
5 | }; | ||
6 | |||
7 | #define Elf_Shdr Elf32_Shdr | ||
8 | #define Elf_Sym Elf32_Sym | ||
9 | #define Elf_Ehdr Elf32_Ehdr | ||
10 | |||
11 | #endif /* ASM_M68KNOMMU_MODULE_H */ | ||