linux/arch/xtensa/kernel/xtensa_ksyms.c
<<
>>
Prefs
   1/*
   2 * arch/xtensa/kernel/xtensa_ksyms.c
   3 *
   4 * Export Xtensa-specific functions for loadable modules.
   5 *
   6 * This file is subject to the terms and conditions of the GNU General Public
   7 * License.  See the file "COPYING" in the main directory of this archive
   8 * for more details.
   9 *
  10 * Copyright (C) 2001 - 2005  Tensilica Inc.
  11 *
  12 * Joe Taylor <joe@tensilica.com>
  13 */
  14
  15#include <linux/module.h>
  16#include <linux/string.h>
  17#include <linux/mm.h>
  18#include <linux/interrupt.h>
  19#include <asm/irq.h>
  20#include <linux/in6.h>
  21
  22#include <asm/uaccess.h>
  23#include <asm/checksum.h>
  24#include <asm/dma.h>
  25#include <asm/io.h>
  26#include <asm/page.h>
  27#include <asm/pgalloc.h>
  28#ifdef CONFIG_BLK_DEV_FD
  29#include <asm/floppy.h>
  30#endif
  31#ifdef CONFIG_NET
  32#include <net/checksum.h>
  33#endif /* CONFIG_NET */
  34
  35
  36/*
  37 * String functions
  38 */
  39EXPORT_SYMBOL(memset);
  40EXPORT_SYMBOL(memcpy);
  41EXPORT_SYMBOL(memmove);
  42EXPORT_SYMBOL(__strncpy_user);
  43EXPORT_SYMBOL(clear_page);
  44EXPORT_SYMBOL(copy_page);
  45
  46EXPORT_SYMBOL(empty_zero_page);
  47
  48/*
  49 * gcc internal math functions
  50 */
  51extern long long __ashrdi3(long long, int);
  52extern long long __ashldi3(long long, int);
  53extern long long __lshrdi3(long long, int);
  54extern int __divsi3(int, int);
  55extern int __modsi3(int, int);
  56extern long long __muldi3(long long, long long);
  57extern int __mulsi3(int, int);
  58extern unsigned int __udivsi3(unsigned int, unsigned int);
  59extern unsigned int __umodsi3(unsigned int, unsigned int);
  60extern unsigned long long __umoddi3(unsigned long long, unsigned long long);
  61extern unsigned long long __udivdi3(unsigned long long, unsigned long long);
  62extern int __ucmpdi2(int, int);
  63
  64EXPORT_SYMBOL(__ashldi3);
  65EXPORT_SYMBOL(__ashrdi3);
  66EXPORT_SYMBOL(__lshrdi3);
  67EXPORT_SYMBOL(__divsi3);
  68EXPORT_SYMBOL(__modsi3);
  69EXPORT_SYMBOL(__muldi3);
  70EXPORT_SYMBOL(__mulsi3);
  71EXPORT_SYMBOL(__udivsi3);
  72EXPORT_SYMBOL(__umodsi3);
  73EXPORT_SYMBOL(__udivdi3);
  74EXPORT_SYMBOL(__umoddi3);
  75EXPORT_SYMBOL(__ucmpdi2);
  76
  77void __xtensa_libgcc_window_spill(void)
  78{
  79        BUG();
  80}
  81EXPORT_SYMBOL(__xtensa_libgcc_window_spill);
  82
  83unsigned long __sync_fetch_and_and_4(unsigned long *p, unsigned long v)
  84{
  85        BUG();
  86}
  87EXPORT_SYMBOL(__sync_fetch_and_and_4);
  88
  89unsigned long __sync_fetch_and_or_4(unsigned long *p, unsigned long v)
  90{
  91        BUG();
  92}
  93EXPORT_SYMBOL(__sync_fetch_and_or_4);
  94
  95#ifdef CONFIG_NET
  96/*
  97 * Networking support
  98 */
  99EXPORT_SYMBOL(csum_partial);
 100EXPORT_SYMBOL(csum_partial_copy_generic);
 101#endif /* CONFIG_NET */
 102
 103/*
 104 * Architecture-specific symbols
 105 */
 106EXPORT_SYMBOL(__xtensa_copy_user);
 107
 108/*
 109 * Kernel hacking ...
 110 */
 111
 112#if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE)
 113// FIXME EXPORT_SYMBOL(screen_info);
 114#endif
 115
 116EXPORT_SYMBOL(outsb);
 117EXPORT_SYMBOL(outsw);
 118EXPORT_SYMBOL(outsl);
 119EXPORT_SYMBOL(insb);
 120EXPORT_SYMBOL(insw);
 121EXPORT_SYMBOL(insl);
 122
 123extern long common_exception_return;
 124extern long _spill_registers;
 125EXPORT_SYMBOL(common_exception_return);
 126EXPORT_SYMBOL(_spill_registers);
 127
 128#ifdef CONFIG_FUNCTION_TRACER
 129EXPORT_SYMBOL(_mcount);
 130#endif
 131