sh: Export cache flush routines needed by sh_eth on SH7619.
[linux-2.6.git] / arch / sh / kernel / sh_ksyms_32.c
1 #include <linux/module.h>
2 #include <linux/smp.h>
3 #include <linux/user.h>
4 #include <linux/elfcore.h>
5 #include <linux/sched.h>
6 #include <linux/in6.h>
7 #include <linux/interrupt.h>
8 #include <linux/vmalloc.h>
9 #include <linux/pci.h>
10 #include <linux/irq.h>
11 #include <asm/sections.h>
12 #include <asm/processor.h>
13 #include <asm/uaccess.h>
14 #include <asm/checksum.h>
15 #include <asm/io.h>
16 #include <asm/delay.h>
17 #include <asm/tlbflush.h>
18 #include <asm/cacheflush.h>
19 #include <asm/ftrace.h>
20
21 extern int dump_fpu(struct pt_regs *, elf_fpregset_t *);
22 extern struct hw_interrupt_type no_irq_type;
23
24 /* platform dependent support */
25 EXPORT_SYMBOL(dump_fpu);
26 EXPORT_SYMBOL(kernel_thread);
27 EXPORT_SYMBOL(irq_desc);
28 EXPORT_SYMBOL(no_irq_type);
29
30 EXPORT_SYMBOL(strlen);
31
32 /* PCI exports */
33 #ifdef CONFIG_PCI
34 EXPORT_SYMBOL(pci_alloc_consistent);
35 EXPORT_SYMBOL(pci_free_consistent);
36 #endif
37
38 /* mem exports */
39 EXPORT_SYMBOL(memchr);
40 EXPORT_SYMBOL(memcpy);
41 EXPORT_SYMBOL(memset);
42 EXPORT_SYMBOL(memmove);
43 EXPORT_SYMBOL(__copy_user);
44
45 #ifdef CONFIG_MMU
46 EXPORT_SYMBOL(get_vm_area);
47 #endif
48
49 EXPORT_SYMBOL(__udelay);
50 EXPORT_SYMBOL(__ndelay);
51 EXPORT_SYMBOL(__const_udelay);
52
53 #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name)
54
55 /* These symbols are generated by the compiler itself */
56 DECLARE_EXPORT(__udivsi3);
57 DECLARE_EXPORT(__sdivsi3);
58 DECLARE_EXPORT(__ashrsi3);
59 DECLARE_EXPORT(__ashlsi3);
60 DECLARE_EXPORT(__ashrdi3);
61 DECLARE_EXPORT(__ashldi3);
62 DECLARE_EXPORT(__ashiftrt_r4_6);
63 DECLARE_EXPORT(__ashiftrt_r4_7);
64 DECLARE_EXPORT(__ashiftrt_r4_8);
65 DECLARE_EXPORT(__ashiftrt_r4_9);
66 DECLARE_EXPORT(__ashiftrt_r4_10);
67 DECLARE_EXPORT(__ashiftrt_r4_11);
68 DECLARE_EXPORT(__ashiftrt_r4_12);
69 DECLARE_EXPORT(__ashiftrt_r4_13);
70 DECLARE_EXPORT(__ashiftrt_r4_14);
71 DECLARE_EXPORT(__ashiftrt_r4_15);
72 DECLARE_EXPORT(__ashiftrt_r4_20);
73 DECLARE_EXPORT(__ashiftrt_r4_21);
74 DECLARE_EXPORT(__ashiftrt_r4_22);
75 DECLARE_EXPORT(__ashiftrt_r4_23);
76 DECLARE_EXPORT(__ashiftrt_r4_24);
77 DECLARE_EXPORT(__ashiftrt_r4_27);
78 DECLARE_EXPORT(__ashiftrt_r4_30);
79 DECLARE_EXPORT(__lshrsi3);
80 DECLARE_EXPORT(__lshrdi3);
81 DECLARE_EXPORT(__movstrSI8);
82 DECLARE_EXPORT(__movstrSI12);
83 DECLARE_EXPORT(__movstrSI16);
84 DECLARE_EXPORT(__movstrSI20);
85 DECLARE_EXPORT(__movstrSI24);
86 DECLARE_EXPORT(__movstrSI28);
87 DECLARE_EXPORT(__movstrSI32);
88 DECLARE_EXPORT(__movstrSI36);
89 DECLARE_EXPORT(__movstrSI40);
90 DECLARE_EXPORT(__movstrSI44);
91 DECLARE_EXPORT(__movstrSI48);
92 DECLARE_EXPORT(__movstrSI52);
93 DECLARE_EXPORT(__movstrSI56);
94 DECLARE_EXPORT(__movstrSI60);
95 #if __GNUC__ == 4
96 DECLARE_EXPORT(__movmem);
97 #else
98 DECLARE_EXPORT(__movstr);
99 #endif
100
101 #if __GNUC__ == 4
102 DECLARE_EXPORT(__movmem_i4_even);
103 DECLARE_EXPORT(__movmem_i4_odd);
104 DECLARE_EXPORT(__movmemSI12_i4);
105
106 #if (__GNUC_MINOR__ >= 2 || defined(__GNUC_STM_RELEASE__))
107 /*
108  * GCC >= 4.2 emits these for division, as do GCC 4.1.x versions of the ST
109  * compiler which include backported patches.
110  */
111 DECLARE_EXPORT(__udiv_qrnnd_16);
112 #if !defined(CONFIG_CPU_SH2)
113 DECLARE_EXPORT(__sdivsi3_i4i);
114 DECLARE_EXPORT(__udivsi3_i4i);
115 #endif
116 #endif
117 #else /* GCC 3.x */
118 DECLARE_EXPORT(__movstr_i4_even);
119 DECLARE_EXPORT(__movstr_i4_odd);
120 DECLARE_EXPORT(__movstrSI12_i4);
121 #endif /* __GNUC__ == 4 */
122
123 #if !defined(CONFIG_CACHE_OFF) && (defined(CONFIG_CPU_SH4) || \
124         defined(CONFIG_SH7705_CACHE_32KB))
125 /* needed by some modules */
126 EXPORT_SYMBOL(flush_cache_all);
127 EXPORT_SYMBOL(flush_cache_range);
128 EXPORT_SYMBOL(flush_dcache_page);
129 #endif
130
131 #if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \
132         (defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB))
133 EXPORT_SYMBOL(clear_user_page);
134 #endif
135
136 #ifdef CONFIG_FTRACE
137 EXPORT_SYMBOL(mcount);
138 #endif
139 EXPORT_SYMBOL(csum_partial);
140 EXPORT_SYMBOL(csum_partial_copy_generic);
141 #ifdef CONFIG_IPV6
142 EXPORT_SYMBOL(csum_ipv6_magic);
143 #endif
144 EXPORT_SYMBOL(clear_page);
145 EXPORT_SYMBOL(copy_page);
146 EXPORT_SYMBOL(__clear_user);
147 EXPORT_SYMBOL(_ebss);
148 EXPORT_SYMBOL(empty_zero_page);
149
150 #ifndef CONFIG_CACHE_OFF
151 EXPORT_SYMBOL(__flush_purge_region);
152 EXPORT_SYMBOL(__flush_wback_region);
153 EXPORT_SYMBOL(__flush_invalidate_region);
154 #endif