1#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>
10
11#include <asm/setup.h>
12#include <asm/pgalloc.h>
13#include <asm/irq.h>
14#include <asm/io.h>
15#include <asm/checksum.h>
16#include <asm/hardirq.h>
17#include <asm/cacheflush.h>
18
19extern long __memcpy_user(void *dst, const void *src, size_t count);
20extern long __memset_user(void *dst, const void *src, size_t count);
21
22/* platform dependent support */
23
24EXPORT_SYMBOL(__ioremap);
25EXPORT_SYMBOL(iounmap);
26
27EXPORT_SYMBOL(ip_fast_csum);
28
29#if 0
30EXPORT_SYMBOL(local_irq_count);
31EXPORT_SYMBOL(local_bh_count);
32#endif
33
34EXPORT_SYMBOL(__res_bus_clock_speed_HZ);
35EXPORT_SYMBOL(__page_offset);
36EXPORT_SYMBOL(__memcpy_user);
37EXPORT_SYMBOL(__memset_user);
38EXPORT_SYMBOL(frv_dcache_writeback);
39EXPORT_SYMBOL(frv_cache_invalidate);
40EXPORT_SYMBOL(frv_icache_invalidate);
41EXPORT_SYMBOL(frv_cache_wback_inv);
42
43#ifndef CONFIG_MMU
44EXPORT_SYMBOL(memory_start);
45EXPORT_SYMBOL(memory_end);
46#endif
47
48EXPORT_SYMBOL(__debug_bug_trap);
49
50/* 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);
56
57EXPORT_SYMBOL(__outsl_ns);
58EXPORT_SYMBOL(__insl_ns);
59
60#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);
66EXPORT_SYMBOL(__xchg_32);
67EXPORT_SYMBOL(__cmpxchg_32);
68#endif
69EXPORT_SYMBOL(atomic64_add_return);
70EXPORT_SYMBOL(atomic64_sub_return);
71EXPORT_SYMBOL(__xchg_64);
72EXPORT_SYMBOL(__cmpxchg_64);
73
74EXPORT_SYMBOL(__debug_bug_printk);
75EXPORT_SYMBOL(__delay_loops_MHz);
76
77/*
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);
90extern void __mulll(void);
91extern void __umulll(void);
92extern 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);
107EXPORT_SYMBOL(__mulll);
108EXPORT_SYMBOL(__umulll);
109EXPORT_SYMBOL(__negdi2);
110EXPORT_SYMBOL(__ucmpdi2);
111//EXPORT_SYMBOL(__udivdi3);
112//EXPORT_SYMBOL(__udivmoddi4);
113//EXPORT_SYMBOL(__umoddi3);
114