Merge ../linux-2.6
[linux-2.6] / arch / parisc / kernel / parisc_ksyms.c
1 /*
2  *    Architecture-specific kernel symbols
3  *
4  *    Copyright (C) 2000-2001 Richard Hirst <rhirst with parisc-linux.org>
5  *    Copyright (C) 2001 Dave Kennedy
6  *    Copyright (C) 2001 Paul Bame <bame at parisc-linux.org>
7  *    Copyright (C) 2001-2003 Grant Grundler <grundler with parisc-linux.org>
8  *    Copyright (C) 2002-2003 Matthew Wilcox <willy at parisc-linux.org>
9  *    Copyright (C) 2002 Randolph Chung <tausq at parisc-linux.org>
10  *    Copyright (C) 2002-2003 Helge Deller <deller with parisc-linux.org>
11  * 
12  *    This program is free software; you can redistribute it and/or modify
13  *    it under the terms of the GNU General Public License as published by
14  *    the Free Software Foundation; either version 2 of the License, or
15  *    (at your option) any later version.
16  *
17  *    This program is distributed in the hope that it will be useful,
18  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
19  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  *    GNU General Public License for more details.
21  *
22  *    You should have received a copy of the GNU General Public License
23  *    along with this program; if not, write to the Free Software
24  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
25  */
26
27 #include <linux/config.h>
28 #include <linux/module.h>
29 #include <linux/kernel.h>
30 #include <linux/syscalls.h>
31
32 #include <linux/string.h>
33 EXPORT_SYMBOL(memchr);
34 EXPORT_SYMBOL(memcmp);
35 EXPORT_SYMBOL(memmove);
36 EXPORT_SYMBOL(memscan);
37 EXPORT_SYMBOL(memset);
38 EXPORT_SYMBOL(strcat);
39 EXPORT_SYMBOL(strchr);
40 EXPORT_SYMBOL(strcmp);
41 EXPORT_SYMBOL(strcpy);
42 EXPORT_SYMBOL(strlen);
43 EXPORT_SYMBOL(strncat);
44 EXPORT_SYMBOL(strncmp);
45 EXPORT_SYMBOL(strncpy);
46 EXPORT_SYMBOL(strnlen);
47 EXPORT_SYMBOL(strrchr);
48 EXPORT_SYMBOL(strstr);
49 EXPORT_SYMBOL(strpbrk);
50
51 #include <asm/atomic.h>
52 EXPORT_SYMBOL(__xchg8);
53 EXPORT_SYMBOL(__xchg32);
54 EXPORT_SYMBOL(__cmpxchg_u32);
55 #ifdef CONFIG_SMP
56 EXPORT_SYMBOL(__atomic_hash);
57 #endif
58 #ifdef __LP64__
59 EXPORT_SYMBOL(__xchg64);
60 EXPORT_SYMBOL(__cmpxchg_u64);
61 #endif
62
63 #include <asm/uaccess.h>
64 EXPORT_SYMBOL(lstrncpy_from_user);
65 EXPORT_SYMBOL(lclear_user);
66 EXPORT_SYMBOL(lstrnlen_user);
67
68 /* Global fixups */
69 extern void fixup_get_user_skip_1(void);
70 extern void fixup_get_user_skip_2(void);
71 extern void fixup_put_user_skip_1(void);
72 extern void fixup_put_user_skip_2(void);
73 EXPORT_SYMBOL(fixup_get_user_skip_1);
74 EXPORT_SYMBOL(fixup_get_user_skip_2);
75 EXPORT_SYMBOL(fixup_put_user_skip_1);
76 EXPORT_SYMBOL(fixup_put_user_skip_2);
77
78 #ifndef __LP64__
79 /* Needed so insmod can set dp value */
80 extern int $global$;
81 EXPORT_SYMBOL($global$);
82 #endif
83
84 #include <asm/io.h>
85 EXPORT_SYMBOL(__ioremap);
86 EXPORT_SYMBOL(iounmap);
87 EXPORT_SYMBOL(memcpy_toio);
88 EXPORT_SYMBOL(memcpy_fromio);
89 EXPORT_SYMBOL(memset_io);
90
91 #include <asm/unistd.h>
92 EXPORT_SYMBOL(sys_open);
93 EXPORT_SYMBOL(sys_lseek);
94 EXPORT_SYMBOL(sys_read);
95 EXPORT_SYMBOL(sys_write);
96
97 #include <asm/semaphore.h>
98 EXPORT_SYMBOL(__up);
99 EXPORT_SYMBOL(__down_interruptible);
100 EXPORT_SYMBOL(__down);
101
102 extern void $$divI(void);
103 extern void $$divU(void);
104 extern void $$remI(void);
105 extern void $$remU(void);
106 extern void $$mulI(void);
107 extern void $$divU_3(void);
108 extern void $$divU_5(void);
109 extern void $$divU_6(void);
110 extern void $$divU_9(void);
111 extern void $$divU_10(void);
112 extern void $$divU_12(void);
113 extern void $$divU_7(void);
114 extern void $$divU_14(void);
115 extern void $$divU_15(void);
116 extern void $$divI_3(void);
117 extern void $$divI_5(void);
118 extern void $$divI_6(void);
119 extern void $$divI_7(void);
120 extern void $$divI_9(void);
121 extern void $$divI_10(void);
122 extern void $$divI_12(void);
123 extern void $$divI_14(void);
124 extern void $$divI_15(void);
125
126 EXPORT_SYMBOL($$divI);
127 EXPORT_SYMBOL($$divU);
128 EXPORT_SYMBOL($$remI);
129 EXPORT_SYMBOL($$remU);
130 EXPORT_SYMBOL($$mulI);
131 EXPORT_SYMBOL($$divU_3);
132 EXPORT_SYMBOL($$divU_5);
133 EXPORT_SYMBOL($$divU_6);
134 EXPORT_SYMBOL($$divU_9);
135 EXPORT_SYMBOL($$divU_10);
136 EXPORT_SYMBOL($$divU_12);
137 EXPORT_SYMBOL($$divU_7);
138 EXPORT_SYMBOL($$divU_14);
139 EXPORT_SYMBOL($$divU_15);
140 EXPORT_SYMBOL($$divI_3);
141 EXPORT_SYMBOL($$divI_5);
142 EXPORT_SYMBOL($$divI_6);
143 EXPORT_SYMBOL($$divI_7);
144 EXPORT_SYMBOL($$divI_9);
145 EXPORT_SYMBOL($$divI_10);
146 EXPORT_SYMBOL($$divI_12);
147 EXPORT_SYMBOL($$divI_14);
148 EXPORT_SYMBOL($$divI_15);
149
150 extern void __ashrdi3(void);
151 extern void __ashldi3(void);
152 extern void __lshrdi3(void);
153 extern void __muldi3(void);
154
155 EXPORT_SYMBOL(__ashrdi3);
156 EXPORT_SYMBOL(__ashldi3);
157 EXPORT_SYMBOL(__lshrdi3);
158 EXPORT_SYMBOL(__muldi3);
159
160 asmlinkage void * __canonicalize_funcptr_for_compare(void *);
161 EXPORT_SYMBOL(__canonicalize_funcptr_for_compare);
162
163 #ifdef __LP64__
164 extern void __divdi3(void);
165 extern void __udivdi3(void);
166 extern void __umoddi3(void);
167 extern void __moddi3(void);
168
169 EXPORT_SYMBOL(__divdi3);
170 EXPORT_SYMBOL(__udivdi3);
171 EXPORT_SYMBOL(__umoddi3);
172 EXPORT_SYMBOL(__moddi3);
173 #endif
174
175 #ifndef __LP64__
176 extern void $$dyncall(void);
177 EXPORT_SYMBOL($$dyncall);
178 #endif
179
180 #ifdef CONFIG_DISCONTIGMEM
181 #include <asm/mmzone.h>
182 EXPORT_SYMBOL(node_data);
183 EXPORT_SYMBOL(pfnnid_map);
184 #endif