aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/include/asm/module.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/include/asm/module.h')
-rw-r--r--arch/m68k/include/asm/module.h51
1 files changed, 47 insertions, 4 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
6struct 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
16enum m68k_fixup_type {
17 m68k_fixup_memoffset,
18 m68k_fixup_vnode_shift,
19};
20
21struct 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
31extern struct m68k_fixup_info __start_fixup[], __stop_fixup[];
32
33struct module;
34extern 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 39struct 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 */