1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
#include <linux/config.h>
#include <linux/module.h>
#include <linux/linkage.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/user.h>
#include <linux/elfcore.h>
#include <asm/bootinfo.h>
#include <asm/pgtable.h>
#include <asm/irq.h>
asmlinkage long long __ashrdi3 (long long, int);
extern char m68k_debug_device[];
#ifdef CONFIG_ATARI
extern void mach_atari_syms_export (void);
#endif
#ifdef CONFIG_AMIGA
extern void mach_amiga_syms_export (void);
#endif
#ifdef CONFIG_MAC
extern void mach_mac_syms_export (void);
#endif
extern void dump_thread(struct pt_regs *, struct user *);
extern int dump_fpu(elf_fpregset_t *);
static struct symbol_table arch_symbol_table = {
#include <linux/symtab_begin.h>
/* platform dependent support */
X(memcmp),
X(boot_info),
X(m68k_is040or060),
X(cache_push),
X(cache_clear),
X(mm_vtop),
X(mm_ptov),
X(m68k_debug_device),
X(add_isr),
X(remove_isr),
X(dump_fpu),
X(dump_thread),
/* The following are special because they're not called
explicitly (the C compiler generates them). Fortunately,
their interface isn't gonna change any time soon now, so
it's OK to leave it out of version control. */
XNOVERS(__ashrdi3),
XNOVERS(memcpy),
#include <linux/symtab_end.h>
};
void arch_syms_export(void)
{
register_symtab(&arch_symbol_table);
switch (boot_info.machtype) {
#ifdef CONFIG_ATARI
case MACH_ATARI:
mach_atari_syms_export();
break;
#endif
#ifdef CONFIG_AMIGA
case MACH_AMIGA:
mach_amiga_syms_export();
break;
#endif
#ifdef CONFIG_MAC
case MACH_MAC:
mach_mac_syms_export();
break;
#endif
default:
break;
}
}
|