Commit | Line | Data |
---|---|---|
45536ffc SR |
1 | /* |
2 | * Export of symbols defined in assembler | |
3 | */ | |
4 | ||
5 | /* Tell string.h we don't want memcpy etc. as cpp defines */ | |
6 | #define EXPORT_SYMTAB_STROPS | |
7 | ||
8 | #include <linux/module.h> | |
9 | #include <linux/string.h> | |
10 | #include <linux/types.h> | |
11 | ||
12 | #include <asm/checksum.h> | |
13 | #include <asm/uaccess.h> | |
14 | #include <asm/ftrace.h> | |
15 | ||
16 | /* string functions */ | |
17 | EXPORT_SYMBOL(strlen); | |
45536ffc SR |
18 | EXPORT_SYMBOL(strncmp); |
19 | ||
20 | /* mem* functions */ | |
21 | extern void *__memscan_zero(void *, size_t); | |
22 | extern void *__memscan_generic(void *, int, size_t); | |
23 | extern void *__bzero(void *, size_t); | |
24 | ||
25 | EXPORT_SYMBOL(memscan); | |
26 | EXPORT_SYMBOL(__memscan_zero); | |
27 | EXPORT_SYMBOL(__memscan_generic); | |
28 | EXPORT_SYMBOL(memcmp); | |
29 | EXPORT_SYMBOL(memcpy); | |
30 | EXPORT_SYMBOL(memset); | |
45536ffc SR |
31 | EXPORT_SYMBOL(memmove); |
32 | EXPORT_SYMBOL(__bzero); | |
33 | ||
45536ffc SR |
34 | /* Networking helper routines. */ |
35 | EXPORT_SYMBOL(csum_partial); | |
36 | ||
37 | #ifdef CONFIG_MCOUNT | |
38 | EXPORT_SYMBOL(_mcount); | |
39 | #endif | |
40 | ||
41 | /* | |
42 | * sparc | |
43 | */ | |
44 | #ifdef CONFIG_SPARC32 | |
45 | extern int __ashrdi3(int, int); | |
46 | extern int __ashldi3(int, int); | |
47 | extern int __lshrdi3(int, int); | |
48 | extern int __muldi3(int, int); | |
49 | extern int __divdi3(int, int); | |
50 | ||
51 | extern void (*__copy_1page)(void *, const void *); | |
52 | extern void (*bzero_1page)(void *); | |
53 | ||
45536ffc SR |
54 | extern void ___rw_read_enter(void); |
55 | extern void ___rw_read_try(void); | |
56 | extern void ___rw_read_exit(void); | |
57 | extern void ___rw_write_enter(void); | |
45536ffc | 58 | |
45536ffc SR |
59 | /* Networking helper routines. */ |
60 | EXPORT_SYMBOL(__csum_partial_copy_sparc_generic); | |
61 | ||
62 | /* Special internal versions of library functions. */ | |
63 | EXPORT_SYMBOL(__copy_1page); | |
45536ffc SR |
64 | EXPORT_SYMBOL(__memmove); |
65 | EXPORT_SYMBOL(bzero_1page); | |
66 | ||
45536ffc SR |
67 | /* Moving data to/from/in userspace. */ |
68 | EXPORT_SYMBOL(__copy_user); | |
69 | ||
70 | /* Used by asm/spinlock.h */ | |
71 | #ifdef CONFIG_SMP | |
72 | EXPORT_SYMBOL(___rw_read_enter); | |
73 | EXPORT_SYMBOL(___rw_read_try); | |
74 | EXPORT_SYMBOL(___rw_read_exit); | |
75 | EXPORT_SYMBOL(___rw_write_enter); | |
76 | #endif | |
77 | ||
45536ffc SR |
78 | EXPORT_SYMBOL(__ashrdi3); |
79 | EXPORT_SYMBOL(__ashldi3); | |
80 | EXPORT_SYMBOL(__lshrdi3); | |
81 | EXPORT_SYMBOL(__muldi3); | |
82 | EXPORT_SYMBOL(__divdi3); | |
45536ffc SR |
83 | #endif |
84 | ||
85 | /* | |
86 | * sparc64 | |
87 | */ | |
88 | #ifdef CONFIG_SPARC64 | |
89 | /* Networking helper routines. */ | |
90 | EXPORT_SYMBOL(csum_partial_copy_nocheck); | |
91 | EXPORT_SYMBOL(__csum_partial_copy_from_user); | |
92 | EXPORT_SYMBOL(__csum_partial_copy_to_user); | |
93 | EXPORT_SYMBOL(ip_fast_csum); | |
94 | ||
95 | /* Moving data to/from/in userspace. */ | |
96 | EXPORT_SYMBOL(___copy_to_user); | |
97 | EXPORT_SYMBOL(___copy_from_user); | |
98 | EXPORT_SYMBOL(___copy_in_user); | |
99 | EXPORT_SYMBOL(__clear_user); | |
100 | ||
45536ffc SR |
101 | /* Atomic counter implementation. */ |
102 | EXPORT_SYMBOL(atomic_add); | |
103 | EXPORT_SYMBOL(atomic_add_ret); | |
104 | EXPORT_SYMBOL(atomic_sub); | |
105 | EXPORT_SYMBOL(atomic_sub_ret); | |
106 | EXPORT_SYMBOL(atomic64_add); | |
107 | EXPORT_SYMBOL(atomic64_add_ret); | |
108 | EXPORT_SYMBOL(atomic64_sub); | |
109 | EXPORT_SYMBOL(atomic64_sub_ret); | |
193d2aad | 110 | EXPORT_SYMBOL(atomic64_dec_if_positive); |
45536ffc SR |
111 | |
112 | /* Atomic bit operations. */ | |
113 | EXPORT_SYMBOL(test_and_set_bit); | |
114 | EXPORT_SYMBOL(test_and_clear_bit); | |
115 | EXPORT_SYMBOL(test_and_change_bit); | |
116 | EXPORT_SYMBOL(set_bit); | |
117 | EXPORT_SYMBOL(clear_bit); | |
118 | EXPORT_SYMBOL(change_bit); | |
119 | ||
120 | /* Special internal versions of library functions. */ | |
121 | EXPORT_SYMBOL(_clear_page); | |
122 | EXPORT_SYMBOL(clear_user_page); | |
123 | EXPORT_SYMBOL(copy_user_page); | |
124 | ||
125 | /* RAID code needs this */ | |
126 | void VISenter(void); | |
127 | EXPORT_SYMBOL(VISenter); | |
128 | ||
4ff28d4c DM |
129 | /* CRYPTO code needs this */ |
130 | void VISenterhalf(void); | |
131 | EXPORT_SYMBOL(VISenterhalf); | |
132 | ||
45536ffc SR |
133 | extern void xor_vis_2(unsigned long, unsigned long *, unsigned long *); |
134 | extern void xor_vis_3(unsigned long, unsigned long *, unsigned long *, | |
135 | unsigned long *); | |
136 | extern void xor_vis_4(unsigned long, unsigned long *, unsigned long *, | |
137 | unsigned long *, unsigned long *); | |
138 | extern void xor_vis_5(unsigned long, unsigned long *, unsigned long *, | |
139 | unsigned long *, unsigned long *, unsigned long *); | |
140 | EXPORT_SYMBOL(xor_vis_2); | |
141 | EXPORT_SYMBOL(xor_vis_3); | |
142 | EXPORT_SYMBOL(xor_vis_4); | |
143 | EXPORT_SYMBOL(xor_vis_5); | |
144 | ||
145 | extern void xor_niagara_2(unsigned long, unsigned long *, unsigned long *); | |
146 | extern void xor_niagara_3(unsigned long, unsigned long *, unsigned long *, | |
147 | unsigned long *); | |
148 | extern void xor_niagara_4(unsigned long, unsigned long *, unsigned long *, | |
149 | unsigned long *, unsigned long *); | |
150 | extern void xor_niagara_5(unsigned long, unsigned long *, unsigned long *, | |
151 | unsigned long *, unsigned long *, unsigned long *); | |
152 | ||
153 | EXPORT_SYMBOL(xor_niagara_2); | |
154 | EXPORT_SYMBOL(xor_niagara_3); | |
155 | EXPORT_SYMBOL(xor_niagara_4); | |
156 | EXPORT_SYMBOL(xor_niagara_5); | |
157 | #endif |