Linux 2.6.26-rc5
[linux-2.6/openmoko-kernel/knife-kernel.git] / include / asm-m68k / module.h
blob382d20a6fc188409973b3cdeb74057d276b4aefd
1 #ifndef _ASM_M68K_MODULE_H
2 #define _ASM_M68K_MODULE_H
4 struct mod_arch_specific {
5 struct m68k_fixup_info *fixup_start, *fixup_end;
6 };
8 #define MODULE_ARCH_INIT { \
9 .fixup_start = __start_fixup, \
10 .fixup_end = __stop_fixup, \
13 #define Elf_Shdr Elf32_Shdr
14 #define Elf_Sym Elf32_Sym
15 #define Elf_Ehdr Elf32_Ehdr
18 enum m68k_fixup_type {
19 m68k_fixup_memoffset,
20 m68k_fixup_vnode_shift,
23 struct m68k_fixup_info {
24 enum m68k_fixup_type type;
25 void *addr;
28 #define m68k_fixup(type, addr) \
29 " .section \".m68k_fixup\",\"aw\"\n" \
30 " .long " #type "," #addr "\n" \
31 " .previous\n"
33 extern struct m68k_fixup_info __start_fixup[], __stop_fixup[];
35 struct module;
36 extern void module_fixup(struct module *mod, struct m68k_fixup_info *start,
37 struct m68k_fixup_info *end);
39 #endif /* _ASM_M68K_MODULE_H */