1 #include <linux/module.h>
3 #include <linux/user.h>
4 #include <linux/elfcore.h>
5 #include <linux/sched.h>
7 #include <linux/interrupt.h>
8 #include <linux/vmalloc.h>
10 #include <linux/irq.h>
11 #include <asm/sections.h>
12 #include <asm/semaphore.h>
13 #include <asm/processor.h>
14 #include <asm/uaccess.h>
15 #include <asm/checksum.h>
17 #include <asm/delay.h>
18 #include <asm/tlbflush.h>
19 #include <asm/cacheflush.h>
21 extern int dump_fpu(struct pt_regs
*, elf_fpregset_t
*);
22 extern struct hw_interrupt_type no_irq_type
;
26 /* platform dependent support */
27 EXPORT_SYMBOL(dump_fpu
);
28 EXPORT_SYMBOL(kernel_thread
);
29 EXPORT_SYMBOL(irq_desc
);
30 EXPORT_SYMBOL(no_irq_type
);
32 EXPORT_SYMBOL(strlen
);
36 EXPORT_SYMBOL(pci_alloc_consistent
);
37 EXPORT_SYMBOL(pci_free_consistent
);
41 EXPORT_SYMBOL(memchr
);
42 EXPORT_SYMBOL(memcpy
);
43 EXPORT_SYMBOL(memset
);
44 EXPORT_SYMBOL(memmove
);
45 EXPORT_SYMBOL(__copy_user
);
48 EXPORT_SYMBOL(get_vm_area
);
51 /* semaphore exports */
53 EXPORT_SYMBOL(__down
);
54 EXPORT_SYMBOL(__down_interruptible
);
55 EXPORT_SYMBOL(__down_trylock
);
57 EXPORT_SYMBOL(__udelay
);
58 EXPORT_SYMBOL(__ndelay
);
59 EXPORT_SYMBOL(__const_udelay
);
61 #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name)
63 /* These symbols are generated by the compiler itself */
64 DECLARE_EXPORT(__udivsi3
);
65 DECLARE_EXPORT(__sdivsi3
);
66 DECLARE_EXPORT(__ashrsi3
);
67 DECLARE_EXPORT(__ashlsi3
);
68 DECLARE_EXPORT(__ashrdi3
);
69 DECLARE_EXPORT(__ashldi3
);
70 DECLARE_EXPORT(__ashiftrt_r4_6
);
71 DECLARE_EXPORT(__ashiftrt_r4_7
);
72 DECLARE_EXPORT(__ashiftrt_r4_8
);
73 DECLARE_EXPORT(__ashiftrt_r4_9
);
74 DECLARE_EXPORT(__ashiftrt_r4_10
);
75 DECLARE_EXPORT(__ashiftrt_r4_11
);
76 DECLARE_EXPORT(__ashiftrt_r4_12
);
77 DECLARE_EXPORT(__ashiftrt_r4_13
);
78 DECLARE_EXPORT(__ashiftrt_r4_14
);
79 DECLARE_EXPORT(__ashiftrt_r4_15
);
80 DECLARE_EXPORT(__ashiftrt_r4_20
);
81 DECLARE_EXPORT(__ashiftrt_r4_21
);
82 DECLARE_EXPORT(__ashiftrt_r4_22
);
83 DECLARE_EXPORT(__ashiftrt_r4_23
);
84 DECLARE_EXPORT(__ashiftrt_r4_24
);
85 DECLARE_EXPORT(__ashiftrt_r4_27
);
86 DECLARE_EXPORT(__ashiftrt_r4_30
);
87 DECLARE_EXPORT(__lshrsi3
);
88 DECLARE_EXPORT(__lshrdi3
);
89 DECLARE_EXPORT(__movstrSI8
);
90 DECLARE_EXPORT(__movstrSI12
);
91 DECLARE_EXPORT(__movstrSI16
);
92 DECLARE_EXPORT(__movstrSI20
);
93 DECLARE_EXPORT(__movstrSI24
);
94 DECLARE_EXPORT(__movstrSI28
);
95 DECLARE_EXPORT(__movstrSI32
);
96 DECLARE_EXPORT(__movstrSI36
);
97 DECLARE_EXPORT(__movstrSI40
);
98 DECLARE_EXPORT(__movstrSI44
);
99 DECLARE_EXPORT(__movstrSI48
);
100 DECLARE_EXPORT(__movstrSI52
);
101 DECLARE_EXPORT(__movstrSI56
);
102 DECLARE_EXPORT(__movstrSI60
);
104 DECLARE_EXPORT(__movmem
);
106 DECLARE_EXPORT(__movstr
);
110 DECLARE_EXPORT(__movmem_i4_even
);
111 DECLARE_EXPORT(__movmem_i4_odd
);
112 DECLARE_EXPORT(__movmemSI12_i4
);
114 #if (__GNUC_MINOR__ >= 2 || defined(__GNUC_STM_RELEASE__))
116 * GCC >= 4.2 emits these for division, as do GCC 4.1.x versions of the ST
117 * compiler which include backported patches.
119 DECLARE_EXPORT(__sdivsi3_i4i
);
120 DECLARE_EXPORT(__udiv_qrnnd_16
);
121 DECLARE_EXPORT(__udivsi3_i4i
);
124 DECLARE_EXPORT(__movstr_i4_even
);
125 DECLARE_EXPORT(__movstr_i4_odd
);
126 DECLARE_EXPORT(__movstrSI12_i4
);
127 #endif /* __GNUC__ == 4 */
129 #if !defined(CONFIG_CACHE_OFF) && (defined(CONFIG_CPU_SH4) || \
130 defined(CONFIG_SH7705_CACHE_32KB))
131 /* needed by some modules */
132 EXPORT_SYMBOL(flush_cache_all
);
133 EXPORT_SYMBOL(flush_cache_range
);
134 EXPORT_SYMBOL(flush_dcache_page
);
135 EXPORT_SYMBOL(__flush_purge_region
);
138 #if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \
139 (defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB))
140 EXPORT_SYMBOL(clear_user_page
);
143 EXPORT_SYMBOL(csum_partial
);
144 EXPORT_SYMBOL(csum_partial_copy_generic
);
146 EXPORT_SYMBOL(csum_ipv6_magic
);
148 EXPORT_SYMBOL(clear_page
);
149 EXPORT_SYMBOL(copy_page
);
150 EXPORT_SYMBOL(__clear_user
);
151 EXPORT_SYMBOL(_ebss
);
152 EXPORT_SYMBOL(empty_zero_page
);