at v3.4 858 B view raw
1#ifndef _ASM_M68K_MODULE_H 2#define _ASM_M68K_MODULE_H 3 4enum m68k_fixup_type { 5 m68k_fixup_memoffset, 6 m68k_fixup_vnode_shift, 7}; 8 9struct m68k_fixup_info { 10 enum m68k_fixup_type type; 11 void *addr; 12}; 13 14struct mod_arch_specific { 15 struct m68k_fixup_info *fixup_start, *fixup_end; 16}; 17 18#ifdef CONFIG_MMU 19 20#define MODULE_ARCH_INIT { \ 21 .fixup_start = __start_fixup, \ 22 .fixup_end = __stop_fixup, \ 23} 24 25 26#define m68k_fixup(type, addr) \ 27 " .section \".m68k_fixup\",\"aw\"\n" \ 28 " .long " #type "," #addr "\n" \ 29 " .previous\n" 30 31#endif /* CONFIG_MMU */ 32 33extern struct m68k_fixup_info __start_fixup[], __stop_fixup[]; 34 35struct module; 36extern void module_fixup(struct module *mod, struct m68k_fixup_info *start, 37 struct m68k_fixup_info *end); 38 39#define Elf_Shdr Elf32_Shdr 40#define Elf_Sym Elf32_Sym 41#define Elf_Ehdr Elf32_Ehdr 42 43#endif /* _ASM_M68K_MODULE_H */