blob: 86c516d96dcda69760dd5c86687e027dfadb4bed [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
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
Linus Torvalds1da177e2005-04-16 15:20:36 -070034EXPORT_SYMBOL(__res_bus_clock_speed_HZ);
35EXPORT_SYMBOL(__page_offset);
36EXPORT_SYMBOL(__memcpy_user);
David Howells40234402006-01-08 01:01:19 -080037EXPORT_SYMBOL(__memset_user);
38EXPORT_SYMBOL(frv_dcache_writeback);
39EXPORT_SYMBOL(frv_cache_invalidate);
40EXPORT_SYMBOL(frv_icache_invalidate);
41EXPORT_SYMBOL(frv_cache_wback_inv);
Linus Torvalds1da177e2005-04-16 15:20:36 -070042
43#ifndef CONFIG_MMU
44EXPORT_SYMBOL(memory_start);
45EXPORT_SYMBOL(memory_end);
46#endif
47
48EXPORT_SYMBOL(__debug_bug_trap);
49
Linus Torvalds1da177e2005-04-16 15:20:36 -070050/* The following are special because they're not called
51 explicitly (the C compiler generates them). Fortunately,
52 their interface isn't gonna change any time soon now, so
53 it's OK to leave it out of version control. */
54EXPORT_SYMBOL(memcpy);
55EXPORT_SYMBOL(memset);
Linus Torvalds1da177e2005-04-16 15:20:36 -070056
David Howells40234402006-01-08 01:01:19 -080057EXPORT_SYMBOL(__outsl_ns);
58EXPORT_SYMBOL(__insl_ns);
59
Linus Torvalds1da177e2005-04-16 15:20:36 -070060#ifdef CONFIG_FRV_OUTOFLINE_ATOMIC_OPS
61EXPORT_SYMBOL(atomic_test_and_ANDNOT_mask);
62EXPORT_SYMBOL(atomic_test_and_OR_mask);
63EXPORT_SYMBOL(atomic_test_and_XOR_mask);
64EXPORT_SYMBOL(atomic_add_return);
65EXPORT_SYMBOL(atomic_sub_return);
Linus Torvalds1da177e2005-04-16 15:20:36 -070066EXPORT_SYMBOL(__xchg_32);
Linus Torvalds1da177e2005-04-16 15:20:36 -070067EXPORT_SYMBOL(__cmpxchg_32);
68#endif
David Howells00460f42009-07-02 00:46:16 +010069EXPORT_SYMBOL(atomic64_add_return);
70EXPORT_SYMBOL(atomic64_sub_return);
71EXPORT_SYMBOL(__xchg_64);
72EXPORT_SYMBOL(__cmpxchg_64);
Linus Torvalds1da177e2005-04-16 15:20:36 -070073
David Howells40234402006-01-08 01:01:19 -080074EXPORT_SYMBOL(__debug_bug_printk);
75EXPORT_SYMBOL(__delay_loops_MHz);
76
Linus Torvalds1da177e2005-04-16 15:20:36 -070077/*
78 * libgcc functions - functions that are used internally by the
79 * compiler... (prototypes are not correct though, but that
80 * doesn't really matter since they're not versioned).
81 */
82extern void __gcc_bcmp(void);
83extern void __ashldi3(void);
84extern void __ashrdi3(void);
85extern void __cmpdi2(void);
86extern void __divdi3(void);
87extern void __lshrdi3(void);
88extern void __moddi3(void);
89extern void __muldi3(void);
David Howells40234402006-01-08 01:01:19 -080090extern void __mulll(void);
91extern void __umulll(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070092extern void __negdi2(void);
93extern void __ucmpdi2(void);
94extern void __udivdi3(void);
95extern void __udivmoddi4(void);
96extern void __umoddi3(void);
97
98 /* gcc lib functions */
99//EXPORT_SYMBOL(__gcc_bcmp);
100EXPORT_SYMBOL(__ashldi3);
101EXPORT_SYMBOL(__ashrdi3);
102//EXPORT_SYMBOL(__cmpdi2);
103//EXPORT_SYMBOL(__divdi3);
104EXPORT_SYMBOL(__lshrdi3);
105//EXPORT_SYMBOL(__moddi3);
106EXPORT_SYMBOL(__muldi3);
David Howells40234402006-01-08 01:01:19 -0800107EXPORT_SYMBOL(__mulll);
108EXPORT_SYMBOL(__umulll);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109EXPORT_SYMBOL(__negdi2);
David Howells40234402006-01-08 01:01:19 -0800110EXPORT_SYMBOL(__ucmpdi2);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111//EXPORT_SYMBOL(__udivdi3);
112//EXPORT_SYMBOL(__udivmoddi4);
113//EXPORT_SYMBOL(__umoddi3);