root/arch/m68k/include/asm/module.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _ASM_M68K_MODULE_H
   3 #define _ASM_M68K_MODULE_H
   4 
   5 #include <asm-generic/module.h>
   6 
   7 enum m68k_fixup_type {
   8         m68k_fixup_memoffset,
   9         m68k_fixup_vnode_shift,
  10 };
  11 
  12 struct m68k_fixup_info {
  13         enum m68k_fixup_type type;
  14         void *addr;
  15 };
  16 
  17 struct mod_arch_specific {
  18         struct m68k_fixup_info *fixup_start, *fixup_end;
  19 };
  20 
  21 #ifdef CONFIG_MMU
  22 
  23 #define MODULE_ARCH_INIT {                              \
  24         .fixup_start            = __start_fixup,        \
  25         .fixup_end              = __stop_fixup,         \
  26 }
  27 
  28 
  29 #define m68k_fixup(type, addr)                  \
  30         "       .section \".m68k_fixup\",\"aw\"\n"      \
  31         "       .long " #type "," #addr "\n"    \
  32         "       .previous\n"
  33 
  34 #endif /* CONFIG_MMU */
  35 
  36 extern struct m68k_fixup_info __start_fixup[], __stop_fixup[];
  37 
  38 struct module;
  39 extern void module_fixup(struct module *mod, struct m68k_fixup_info *start,
  40                          struct m68k_fixup_info *end);
  41 
  42 #endif /* _ASM_M68K_MODULE_H */

/* [<][>][^][v][top][bottom][index][help] */