linux-old/arch/arm/kernel/armksyms.c
<<
>>
Prefs
   1/*
   2 *  linux/arch/arm/kernel/armksyms.c
   3 *
   4 *  Copyright (C) 2000 Russell King
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 as
   8 * published by the Free Software Foundation.
   9 */
  10#include <linux/config.h>
  11#include <linux/module.h>
  12#include <linux/user.h>
  13#include <linux/string.h>
  14#include <linux/fs.h>
  15#include <linux/mm.h>
  16#include <linux/mman.h>
  17#include <linux/pci.h>
  18#include <linux/delay.h>
  19#include <linux/in6.h>
  20#include <linux/interrupt.h>
  21#include <linux/pm.h>
  22#include <linux/vt_kern.h>
  23
  24#include <asm/byteorder.h>
  25#include <asm/elf.h>
  26#include <asm/io.h>
  27#include <asm/irq.h>
  28#include <asm/pgalloc.h>
  29#include <asm/proc-fns.h>
  30#include <asm/processor.h>
  31#include <asm/semaphore.h>
  32#include <asm/system.h>
  33#include <asm/uaccess.h>
  34#include <asm/checksum.h>
  35#include <asm/mach-types.h>
  36
  37extern void dump_thread(struct pt_regs *, struct user *);
  38extern int dump_fpu(struct pt_regs *, struct user_fp_struct *);
  39extern void inswb(unsigned int port, void *to, int len);
  40extern void outswb(unsigned int port, const void *to, int len);
  41
  42extern void __bad_xchg(volatile void *ptr, int size);
  43
  44/*
  45 * syscalls
  46 */
  47extern int sys_write(int, const char *, int);
  48extern int sys_read(int, char *, int);
  49extern int sys_lseek(int, off_t, int);
  50extern int sys_exit(int);
  51
  52/*
  53 * libgcc functions - functions that are used internally by the
  54 * compiler...  (prototypes are not correct though, but that
  55 * doesn't really matter since they're not versioned).
  56 */
  57extern void __ashldi3(void);
  58extern void __ashrdi3(void);
  59extern void __divsi3(void);
  60extern void __lshrdi3(void);
  61extern void __modsi3(void);
  62extern void __muldi3(void);
  63extern void __ucmpdi2(void);
  64extern void __udivdi3(void);
  65extern void __umoddi3(void);
  66extern void __udivmoddi4(void);
  67extern void __udivsi3(void);
  68extern void __umodsi3(void);
  69extern void abort(void);
  70
  71extern void ret_from_exception(void);
  72extern void fpundefinstr(void);
  73extern void fp_enter(void);
  74
  75/*
  76 * This has a special calling convention; it doesn't
  77 * modify any of the usual registers, except for LR.
  78 */
  79extern void __do_softirq(void);
  80
  81#define EXPORT_SYMBOL_ALIAS(sym,orig)           \
  82 const char __kstrtab_##sym[]                   \
  83  __attribute__((section(".kstrtab"))) =        \
  84    __MODULE_STRING(sym);                       \
  85 const struct module_symbol __ksymtab_##sym     \
  86  __attribute__((section("__ksymtab"))) =       \
  87    { (unsigned long)&orig, __kstrtab_##sym };
  88
  89/*
  90 * floating point math emulator support.
  91 * These symbols will never change their calling convention...
  92 */
  93EXPORT_SYMBOL_ALIAS(kern_fp_enter,fp_enter);
  94EXPORT_SYMBOL_ALIAS(fp_printk,printk);
  95EXPORT_SYMBOL_ALIAS(fp_send_sig,send_sig);
  96
  97#ifdef CONFIG_CPU_26
  98EXPORT_SYMBOL(fpundefinstr);
  99EXPORT_SYMBOL(ret_from_exception);
 100#endif
 101
 102#ifdef CONFIG_VT
 103EXPORT_SYMBOL(kd_mksound);
 104#endif
 105
 106EXPORT_SYMBOL_NOVERS(__do_softirq);
 107
 108        /* platform dependent support */
 109EXPORT_SYMBOL(dump_thread);
 110EXPORT_SYMBOL(dump_fpu);
 111EXPORT_SYMBOL(__udelay);
 112EXPORT_SYMBOL(__ndelay);
 113EXPORT_SYMBOL(__const_delay);
 114#ifdef CONFIG_CPU_32
 115EXPORT_SYMBOL(__ioremap);
 116EXPORT_SYMBOL(__iounmap);
 117#endif
 118EXPORT_SYMBOL(kernel_thread);
 119EXPORT_SYMBOL(system_rev);
 120EXPORT_SYMBOL(system_serial_low);
 121EXPORT_SYMBOL(system_serial_high);
 122#ifdef CONFIG_DEBUG_BUGVERBOSE
 123EXPORT_SYMBOL(__bug);
 124#endif
 125EXPORT_SYMBOL(__bad_xchg);
 126EXPORT_SYMBOL(__readwrite_bug);
 127EXPORT_SYMBOL(enable_irq);
 128EXPORT_SYMBOL(disable_irq);
 129EXPORT_SYMBOL(pm_idle);
 130EXPORT_SYMBOL(pm_power_off);
 131
 132        /* processor dependencies */
 133EXPORT_SYMBOL(__machine_arch_type);
 134
 135        /* networking */
 136EXPORT_SYMBOL(csum_partial_copy_nocheck);
 137EXPORT_SYMBOL(__csum_ipv6_magic);
 138
 139        /* io */
 140#ifndef __raw_readsb
 141EXPORT_SYMBOL_NOVERS(__raw_readsb);
 142#endif
 143#ifndef __raw_readsw
 144EXPORT_SYMBOL_NOVERS(__raw_readsw);
 145#endif
 146#ifndef __raw_readsl
 147EXPORT_SYMBOL_NOVERS(__raw_readsl);
 148#endif
 149#ifndef __raw_writesb
 150EXPORT_SYMBOL_NOVERS(__raw_writesb);
 151#endif
 152#ifndef __raw_writesw
 153EXPORT_SYMBOL_NOVERS(__raw_writesw);
 154#endif
 155#ifndef __raw_writesl
 156EXPORT_SYMBOL_NOVERS(__raw_writesl);
 157#endif
 158
 159        /* address translation */
 160#ifndef __virt_to_phys__is_a_macro
 161EXPORT_SYMBOL(__virt_to_phys);
 162#endif
 163#ifndef __phys_to_virt__is_a_macro
 164EXPORT_SYMBOL(__phys_to_virt);
 165#endif
 166#ifndef __virt_to_bus__is_a_macro
 167EXPORT_SYMBOL(__virt_to_bus);
 168#endif
 169#ifndef __bus_to_virt__is_a_macro
 170EXPORT_SYMBOL(__bus_to_virt);
 171#endif
 172
 173#ifndef CONFIG_NO_PGT_CACHE
 174EXPORT_SYMBOL(quicklists);
 175#endif
 176
 177        /* string / mem functions */
 178EXPORT_SYMBOL_NOVERS(strcpy);
 179EXPORT_SYMBOL_NOVERS(strncpy);
 180EXPORT_SYMBOL_NOVERS(strcat);
 181EXPORT_SYMBOL_NOVERS(strncat);
 182EXPORT_SYMBOL_NOVERS(strcmp);
 183EXPORT_SYMBOL_NOVERS(strncmp);
 184EXPORT_SYMBOL_NOVERS(strchr);
 185EXPORT_SYMBOL_NOVERS(strlen);
 186EXPORT_SYMBOL_NOVERS(strnlen);
 187EXPORT_SYMBOL_NOVERS(strpbrk);
 188EXPORT_SYMBOL_NOVERS(strtok);
 189EXPORT_SYMBOL_NOVERS(strrchr);
 190EXPORT_SYMBOL_NOVERS(strstr);
 191EXPORT_SYMBOL_NOVERS(memset);
 192EXPORT_SYMBOL_NOVERS(memcpy);
 193EXPORT_SYMBOL_NOVERS(memmove);
 194EXPORT_SYMBOL_NOVERS(memcmp);
 195EXPORT_SYMBOL_NOVERS(memscan);
 196EXPORT_SYMBOL_NOVERS(memchr);
 197EXPORT_SYMBOL_NOVERS(__memzero);
 198
 199        /* user mem (segment) */
 200#if defined(CONFIG_CPU_32)
 201EXPORT_SYMBOL(__arch_copy_from_user);
 202EXPORT_SYMBOL(__arch_copy_to_user);
 203EXPORT_SYMBOL(__arch_clear_user);
 204EXPORT_SYMBOL(__arch_strnlen_user);
 205
 206        /* consistent area handling */
 207EXPORT_SYMBOL(pci_alloc_consistent);
 208EXPORT_SYMBOL(consistent_alloc);
 209EXPORT_SYMBOL(consistent_free);
 210EXPORT_SYMBOL(consistent_sync);
 211
 212#elif defined(CONFIG_CPU_26)
 213EXPORT_SYMBOL(uaccess_kernel);
 214EXPORT_SYMBOL(uaccess_user);
 215#endif
 216
 217EXPORT_SYMBOL_NOVERS(__get_user_1);
 218EXPORT_SYMBOL_NOVERS(__get_user_2);
 219EXPORT_SYMBOL_NOVERS(__get_user_4);
 220EXPORT_SYMBOL_NOVERS(__get_user_8);
 221
 222EXPORT_SYMBOL_NOVERS(__put_user_1);
 223EXPORT_SYMBOL_NOVERS(__put_user_2);
 224EXPORT_SYMBOL_NOVERS(__put_user_4);
 225EXPORT_SYMBOL_NOVERS(__put_user_8);
 226
 227        /* gcc lib functions */
 228EXPORT_SYMBOL_NOVERS(__ashldi3);
 229EXPORT_SYMBOL_NOVERS(__ashrdi3);
 230EXPORT_SYMBOL_NOVERS(__divsi3);
 231EXPORT_SYMBOL_NOVERS(__lshrdi3);
 232EXPORT_SYMBOL_NOVERS(__modsi3);
 233EXPORT_SYMBOL_NOVERS(__muldi3);
 234EXPORT_SYMBOL_NOVERS(__ucmpdi2);
 235EXPORT_SYMBOL_NOVERS(__udivdi3);
 236EXPORT_SYMBOL_NOVERS(__umoddi3);
 237EXPORT_SYMBOL_NOVERS(__udivmoddi4);
 238EXPORT_SYMBOL_NOVERS(__udivsi3);
 239EXPORT_SYMBOL_NOVERS(__umodsi3);
 240EXPORT_SYMBOL_NOVERS(abort);
 241
 242        /* bitops */
 243EXPORT_SYMBOL(set_bit);
 244EXPORT_SYMBOL(test_and_set_bit);
 245EXPORT_SYMBOL(clear_bit);
 246EXPORT_SYMBOL(test_and_clear_bit);
 247EXPORT_SYMBOL(change_bit);
 248EXPORT_SYMBOL(test_and_change_bit);
 249EXPORT_SYMBOL(find_first_zero_bit);
 250EXPORT_SYMBOL(find_next_zero_bit);
 251
 252        /* elf */
 253EXPORT_SYMBOL(elf_platform);
 254EXPORT_SYMBOL(elf_hwcap);
 255
 256        /* syscalls */
 257EXPORT_SYMBOL(sys_write);
 258EXPORT_SYMBOL(sys_read);
 259EXPORT_SYMBOL(sys_lseek);
 260EXPORT_SYMBOL(sys_open);
 261EXPORT_SYMBOL(sys_exit);
 262EXPORT_SYMBOL(sys_wait4);
 263
 264        /* semaphores */
 265EXPORT_SYMBOL_NOVERS(__down_failed);
 266EXPORT_SYMBOL_NOVERS(__down_interruptible_failed);
 267EXPORT_SYMBOL_NOVERS(__down_trylock_failed);
 268EXPORT_SYMBOL_NOVERS(__up_wakeup);
 269
 270EXPORT_SYMBOL(get_wchan);
 271
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.