1 /*
2  * Export MIPS-specific functions needed for loadable modules.
3  *
4  * This file is subject to the terms and conditions of the GNU General Public
5  * License.  See the file "COPYING" in the main directory of this archive
6  * for more details.
7  *
8  * Copyright (C) 1996, 1997, 1998, 2000, 2001 by Ralf Baechle
9  */
10 #include <linux/config.h>
11 #include <linux/module.h>
12 #include <linux/string.h>
13 #include <linux/mm.h>
14 #include <linux/interrupt.h>
15 #include <asm/irq.h>
16 #include <linux/in6.h>
17 #include <linux/pci.h>
18 #include <linux/ide.h>
19 
20 #include <asm/bootinfo.h>
21 #include <asm/checksum.h>
22 #include <asm/dma.h>
23 #include <asm/io.h>
24 #include <asm/page.h>
25 #include <asm/pgalloc.h>
26 #include <asm/semaphore.h>
27 #include <asm/softirq.h>
28 #include <asm/uaccess.h>
29 #if defined(CONFIG_BLK_DEV_FD) || defined(CONFIG_BLK_DEV_FD_MODULE)
30 #include <asm/floppy.h>
31 #endif
32 
33 extern void *__bzero(void *__s, size_t __count);
34 extern long __strncpy_from_user_nocheck_asm(char *__to,
35                                             const char *__from, long __len);
36 extern long __strncpy_from_user_asm(char *__to, const char *__from,
37                                     long __len);
38 extern long __strlen_user_nocheck_asm(const char *s);
39 extern long __strlen_user_asm(const char *s);
40 extern long __strnlen_user_nocheck_asm(const char *s);
41 extern long __strnlen_user_asm(const char *s);
42 
43 EXPORT_SYMBOL(mips_machtype);
44 #ifdef CONFIG_EISA
45 EXPORT_SYMBOL(EISA_bus);
46 #endif
47 
48 /*
49  * String functions
50  */
51 EXPORT_SYMBOL_NOVERS(memcmp);
52 EXPORT_SYMBOL_NOVERS(memset);
53 EXPORT_SYMBOL_NOVERS(memcpy);
54 EXPORT_SYMBOL_NOVERS(memmove);
55 EXPORT_SYMBOL_NOVERS(strcat);
56 EXPORT_SYMBOL_NOVERS(strchr);
57 EXPORT_SYMBOL_NOVERS(strlen);
58 EXPORT_SYMBOL_NOVERS(strpbrk);
59 EXPORT_SYMBOL_NOVERS(strncat);
60 EXPORT_SYMBOL_NOVERS(strnlen);
61 EXPORT_SYMBOL_NOVERS(strrchr);
62 EXPORT_SYMBOL_NOVERS(strstr);
63 EXPORT_SYMBOL_NOVERS(strtok);
64 
65 EXPORT_SYMBOL(clear_page);
66 EXPORT_SYMBOL(kernel_thread);
67 
68 /*
69  * Userspace access stuff.
70  */
71 EXPORT_SYMBOL_NOVERS(__copy_user);
72 EXPORT_SYMBOL_NOVERS(__bzero);
73 EXPORT_SYMBOL_NOVERS(__strncpy_from_user_nocheck_asm);
74 EXPORT_SYMBOL_NOVERS(__strncpy_from_user_asm);
75 EXPORT_SYMBOL_NOVERS(__strlen_user_nocheck_asm);
76 EXPORT_SYMBOL_NOVERS(__strlen_user_asm);
77 EXPORT_SYMBOL_NOVERS(__strnlen_user_nocheck_asm);
78 EXPORT_SYMBOL_NOVERS(__strnlen_user_asm);
79 
80 
81 /* Networking helper routines. */
82 EXPORT_SYMBOL(csum_partial_copy);
83 
84 /*
85  * Functions to control caches.
86  */
87 EXPORT_SYMBOL(_flush_cache_all);
88 
89 EXPORT_SYMBOL(invalid_pte_table);
90 
91 /*
92  * Kernel hacking ...
93  */
94 #include <asm/branch.h>
95 #include <linux/sched.h>
96 
97 #ifdef CONFIG_VT
98 EXPORT_SYMBOL(screen_info);
99 #endif
100 
101 #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
102 EXPORT_SYMBOL(ide_ops);
103 #endif
104 
105 EXPORT_SYMBOL(get_wchan);
106