blob: a89803b58b9a970c47c0784ca1be398478de6142 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#include <linux/module.h>
2#include <linux/linkage.h>
3#include <linux/sched.h>
4#include <linux/string.h>
5#include <linux/mm.h>
6#include <linux/user.h>
7#include <linux/elfcore.h>
8#include <linux/in6.h>
9#include <linux/interrupt.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
11#include <asm/setup.h>
12#include <asm/pgalloc.h>
13#include <asm/irq.h>
14#include <asm/io.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070015#include <asm/checksum.h>
16#include <asm/hardirq.h>
David Howells40234402006-01-08 01:01:19 -080017#include <asm/cacheflush.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
Linus Torvalds1da177e2005-04-16 15:20:36 -070019extern long __memcpy_user(void *dst, const void *src, size_t count);
David Howells40234402006-01-08 01:01:19 -080020extern long __memset_user(void *dst, const void *src, size_t count);
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
22/* platform dependent support */
23
24EXPORT_SYMBOL(__ioremap);
25EXPORT_SYMBOL(iounmap);
26
Linus Torvalds1da177e2005-04-16 15:20:36 -070027EXPORT_SYMBOL(ip_fast_csum);
28
29#if 0
30EXPORT_SYMBOL(local_irq_count);
31EXPORT_SYMBOL(local_bh_count);
32#endif
33EXPORT_SYMBOL(kernel_thread);
34
Linus Torvalds1da177e2005-04-16 15:20:36 -070035EXPORT_SYMBOL(__res_bus_clock_speed_HZ);
36EXPORT_SYMBOL(__page_offset);
37EXPORT_SYMBOL(__memcpy_user);
David Howells40234402006-01-08 01:01:19 -080038EXPORT_SYMBOL(__memset_user);
39EXPORT_SYMBOL(frv_dcache_writeback);
40EXPORT_SYMBOL(frv_cache_invalidate);
41EXPORT_SYMBOL(frv_icache_invalidate);
42EXPORT_SYMBOL(frv_cache_wback_inv);
Linus Torvalds1da177e2005-04-16 15:20:36 -070043
44#ifndef CONFIG_MMU
45EXPORT_SYMBOL(memory_start);
46EXPORT_SYMBOL(memory_end);
47#endif
48
49EXPORT_SYMBOL(__debug_bug_trap);
50
Linus Torvalds1da177e2005-04-16 15:20:36 -070051/* The following are special because they're not called
52 explicitly (the C compiler generates them). Fortunately,
53 their interface isn't gonna change any time soon now, so
54 it's OK to leave it out of version control. */
55EXPORT_SYMBOL(memcpy);
56EXPORT_SYMBOL(memset);
Linus Torvalds1da177e2005-04-16 15:20:36 -070057
David Howells40234402006-01-08 01:01:19 -080058EXPORT_SYMBOL(__outsl_ns);
59EXPORT_SYMBOL(__insl_ns);
60
Linus Torvalds1da177e2005-04-16 15:20:36 -070061#ifdef CONFIG_FRV_OUTOFLINE_ATOMIC_OPS
62EXPORT_SYMBOL(atomic_test_and_ANDNOT_mask);
63EXPORT_SYMBOL(atomic_test_and_OR_mask);
64EXPORT_SYMBOL(atomic_test_and_XOR_mask);
65EXPORT_SYMBOL(atomic_add_return);
66EXPORT_SYMBOL(atomic_sub_return);
Linus Torvalds1da177e2005-04-16 15:20:36 -070067EXPORT_SYMBOL(__xchg_32);
Linus Torvalds1da177e2005-04-16 15:20:36 -070068EXPORT_SYMBOL(__cmpxchg_32);
69#endif
David Howells00460f42009-07-02 00:46:16 +010070EXPORT_SYMBOL(atomic64_add_return);
71EXPORT_SYMBOL(atomic64_sub_return);
72EXPORT_SYMBOL(__xchg_64);
73EXPORT_SYMBOL(__cmpxchg_64);
Linus Torvalds1da177e2005-04-16 15:20:36 -070074
David Howells40234402006-01-08 01:01:19 -080075EXPORT_SYMBOL(__debug_bug_printk);
76EXPORT_SYMBOL(__delay_loops_MHz);
77
Linus Torvalds1da177e2005-04-16 15:20:36 -070078/*
79 * libgcc functions - functions that are used internally by the
80 * compiler... (prototypes are not correct though, but that
81 * doesn't really matter since they're not versioned).
82 */
83extern void __gcc_bcmp(void);
84extern void __ashldi3(void);
85extern void __ashrdi3(void);
86extern void __cmpdi2(void);
87extern void __divdi3(void);
88extern void __lshrdi3(void);
89extern void __moddi3(void);
90extern void __muldi3(void);
David Howells40234402006-01-08 01:01:19 -080091extern void __mulll(void);
92extern void __umulll(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070093extern void __negdi2(void);
94extern void __ucmpdi2(void);
95extern void __udivdi3(void);
96extern void __udivmoddi4(void);
97extern void __umoddi3(void);
98
99 /* gcc lib functions */
100//EXPORT_SYMBOL(__gcc_bcmp);
101EXPORT_SYMBOL(__ashldi3);
102EXPORT_SYMBOL(__ashrdi3);
103//EXPORT_SYMBOL(__cmpdi2);
104//EXPORT_SYMBOL(__divdi3);
105EXPORT_SYMBOL(__lshrdi3);
106//EXPORT_SYMBOL(__moddi3);
107EXPORT_SYMBOL(__muldi3);
David Howells40234402006-01-08 01:01:19 -0800108EXPORT_SYMBOL(__mulll);
109EXPORT_SYMBOL(__umulll);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110EXPORT_SYMBOL(__negdi2);
David Howells40234402006-01-08 01:01:19 -0800111EXPORT_SYMBOL(__ucmpdi2);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112//EXPORT_SYMBOL(__udivdi3);
113//EXPORT_SYMBOL(__udivmoddi4);
114//EXPORT_SYMBOL(__umoddi3);