[ubicom32]: move new files out from platform support patch
[openwrt/svn-archive/archive.git] / target / linux / ubicom32 / files / arch / ubicom32 / kernel / ubicom32_ksyms.c
1 /*
2 * arch/ubicom32/kernel/ubicom32_ksyms.c
3 * Ubicom32 architecture compiler support and misc symbols.
4 *
5 * (C) Copyright 2009, Ubicom, Inc.
6 *
7 * This file is part of the Ubicom32 Linux Kernel Port.
8 *
9 * The Ubicom32 Linux Kernel Port is free software: you can redistribute
10 * it and/or modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation, either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * The Ubicom32 Linux Kernel Port is distributed in the hope that it
15 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
16 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
17 * the GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with the Ubicom32 Linux Kernel Port. If not,
21 * see <http://www.gnu.org/licenses/>.
22 *
23 * Ubicom32 implementation derived from (with many thanks):
24 * arch/m68knommu
25 * arch/blackfin
26 * arch/parisc
27 */
28 #include <linux/module.h>
29 #include <linux/linkage.h>
30 #include <linux/sched.h>
31 #include <linux/string.h>
32 #include <linux/mm.h>
33 #include <linux/user.h>
34 #include <linux/elfcore.h>
35 #include <linux/in6.h>
36 #include <linux/interrupt.h>
37 #include <linux/io.h>
38 #include <linux/semaphore.h>
39
40 #include <asm/setup.h>
41 #include <asm/machdep.h>
42 #include <asm/pgalloc.h>
43 #include <asm/irq.h>
44 #include <asm/checksum.h>
45 #include <asm/current.h>
46
47 /* platform dependent support */
48
49 EXPORT_SYMBOL(__ioremap);
50 EXPORT_SYMBOL(iounmap);
51
52 EXPORT_SYMBOL(ip_fast_csum);
53
54
55 /* Networking helper routines. */
56 EXPORT_SYMBOL(csum_partial_copy_nocheck);
57
58 /* The following are special because they're not called
59 explicitly (the C compiler generates them). Fortunately,
60 their interface isn't gonna change any time soon now, so
61 it's OK to leave it out of version control. */
62 EXPORT_SYMBOL(memcpy);
63 EXPORT_SYMBOL(memset);
64 EXPORT_SYMBOL(memmove);
65
66 #if (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) || __GNUC__ > 4
67 /*
68 * libgcc functions - functions that are used internally by the
69 * compiler... (prototypes are not correct though, but that
70 * doesn't really matter since they're not versioned).
71 */
72 extern void __ashldi3(void);
73 extern void __ashrdi3(void);
74 extern void __divsi3(void);
75 extern void __divdi3(void);
76 extern void __lshrdi3(void);
77 extern void __modsi3(void);
78 extern void __muldi3(void);
79 extern void __udivsi3(void);
80 extern void __umodsi3(void);
81
82 /* gcc lib functions */
83 EXPORT_SYMBOL(__ashldi3);
84 EXPORT_SYMBOL(__ashrdi3);
85 EXPORT_SYMBOL(__divsi3);
86 EXPORT_SYMBOL(__divdi3);
87 EXPORT_SYMBOL(__lshrdi3);
88 EXPORT_SYMBOL(__modsi3);
89 EXPORT_SYMBOL(__muldi3);
90 EXPORT_SYMBOL(__udivsi3);
91 EXPORT_SYMBOL(__umodsi3);
92 #else
93 extern void __libgcc_udivmodsi(void);
94 extern void __libgcc_divmodsi(void);
95
96 EXPORT_SYMBOL(__libgcc_udivmodsi);
97 EXPORT_SYMBOL(__libgcc_divmodsi);
98 #endif