Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame^] | 1 | #include <linux/config.h> |
| 2 | #include <linux/module.h> |
| 3 | #include <linux/smp.h> |
| 4 | #include <linux/user.h> |
| 5 | #include <linux/sched.h> |
| 6 | #include <linux/in6.h> |
| 7 | #include <linux/interrupt.h> |
| 8 | #include <linux/smp_lock.h> |
| 9 | #include <linux/pm.h> |
| 10 | #include <linux/pci.h> |
| 11 | #include <linux/apm_bios.h> |
| 12 | #include <linux/kernel.h> |
| 13 | #include <linux/string.h> |
| 14 | #include <linux/syscalls.h> |
| 15 | #include <linux/tty.h> |
| 16 | #include <linux/ioctl32.h> |
| 17 | |
| 18 | #include <asm/semaphore.h> |
| 19 | #include <asm/processor.h> |
| 20 | #include <asm/i387.h> |
| 21 | #include <asm/uaccess.h> |
| 22 | #include <asm/checksum.h> |
| 23 | #include <asm/io.h> |
| 24 | #include <asm/delay.h> |
| 25 | #include <asm/irq.h> |
| 26 | #include <asm/mmx.h> |
| 27 | #include <asm/desc.h> |
| 28 | #include <asm/pgtable.h> |
| 29 | #include <asm/pgalloc.h> |
| 30 | #include <asm/nmi.h> |
| 31 | #include <asm/kdebug.h> |
| 32 | #include <asm/unistd.h> |
| 33 | #include <asm/tlbflush.h> |
| 34 | #include <asm/kdebug.h> |
| 35 | |
| 36 | extern spinlock_t rtc_lock; |
| 37 | |
| 38 | #ifdef CONFIG_SMP |
| 39 | extern void __write_lock_failed(rwlock_t *rw); |
| 40 | extern void __read_lock_failed(rwlock_t *rw); |
| 41 | #endif |
| 42 | |
| 43 | #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE) |
| 44 | extern struct drive_info_struct drive_info; |
| 45 | EXPORT_SYMBOL(drive_info); |
| 46 | #endif |
| 47 | |
| 48 | extern unsigned long get_cmos_time(void); |
| 49 | |
| 50 | /* platform dependent support */ |
| 51 | EXPORT_SYMBOL(boot_cpu_data); |
| 52 | //EXPORT_SYMBOL(dump_fpu); |
| 53 | EXPORT_SYMBOL(__ioremap); |
| 54 | EXPORT_SYMBOL(ioremap_nocache); |
| 55 | EXPORT_SYMBOL(iounmap); |
| 56 | EXPORT_SYMBOL(enable_irq); |
| 57 | EXPORT_SYMBOL(disable_irq); |
| 58 | EXPORT_SYMBOL(disable_irq_nosync); |
| 59 | EXPORT_SYMBOL(probe_irq_mask); |
| 60 | EXPORT_SYMBOL(kernel_thread); |
| 61 | EXPORT_SYMBOL(pm_idle); |
| 62 | EXPORT_SYMBOL(pm_power_off); |
| 63 | EXPORT_SYMBOL(get_cmos_time); |
| 64 | |
| 65 | EXPORT_SYMBOL(__down_failed); |
| 66 | EXPORT_SYMBOL(__down_failed_interruptible); |
| 67 | EXPORT_SYMBOL(__down_failed_trylock); |
| 68 | EXPORT_SYMBOL(__up_wakeup); |
| 69 | /* Networking helper routines. */ |
| 70 | EXPORT_SYMBOL(csum_partial_copy_nocheck); |
| 71 | EXPORT_SYMBOL(ip_compute_csum); |
| 72 | /* Delay loops */ |
| 73 | EXPORT_SYMBOL(__udelay); |
| 74 | EXPORT_SYMBOL(__ndelay); |
| 75 | EXPORT_SYMBOL(__delay); |
| 76 | EXPORT_SYMBOL(__const_udelay); |
| 77 | |
| 78 | EXPORT_SYMBOL(__get_user_1); |
| 79 | EXPORT_SYMBOL(__get_user_2); |
| 80 | EXPORT_SYMBOL(__get_user_4); |
| 81 | EXPORT_SYMBOL(__get_user_8); |
| 82 | EXPORT_SYMBOL(__put_user_1); |
| 83 | EXPORT_SYMBOL(__put_user_2); |
| 84 | EXPORT_SYMBOL(__put_user_4); |
| 85 | EXPORT_SYMBOL(__put_user_8); |
| 86 | |
| 87 | EXPORT_SYMBOL(strpbrk); |
| 88 | EXPORT_SYMBOL(strstr); |
| 89 | |
| 90 | EXPORT_SYMBOL(strncpy_from_user); |
| 91 | EXPORT_SYMBOL(__strncpy_from_user); |
| 92 | EXPORT_SYMBOL(clear_user); |
| 93 | EXPORT_SYMBOL(__clear_user); |
| 94 | EXPORT_SYMBOL(copy_user_generic); |
| 95 | EXPORT_SYMBOL(copy_from_user); |
| 96 | EXPORT_SYMBOL(copy_to_user); |
| 97 | EXPORT_SYMBOL(copy_in_user); |
| 98 | EXPORT_SYMBOL(strnlen_user); |
| 99 | |
| 100 | #ifdef CONFIG_PCI |
| 101 | EXPORT_SYMBOL(pci_alloc_consistent); |
| 102 | EXPORT_SYMBOL(pci_free_consistent); |
| 103 | #endif |
| 104 | |
| 105 | #ifdef CONFIG_PCI |
| 106 | EXPORT_SYMBOL(pci_mem_start); |
| 107 | #endif |
| 108 | |
| 109 | EXPORT_SYMBOL(copy_page); |
| 110 | EXPORT_SYMBOL(clear_page); |
| 111 | |
| 112 | EXPORT_SYMBOL(cpu_pda); |
| 113 | #ifdef CONFIG_SMP |
| 114 | EXPORT_SYMBOL(cpu_data); |
| 115 | EXPORT_SYMBOL(cpu_online_map); |
| 116 | EXPORT_SYMBOL(__write_lock_failed); |
| 117 | EXPORT_SYMBOL(__read_lock_failed); |
| 118 | |
| 119 | EXPORT_SYMBOL(synchronize_irq); |
| 120 | EXPORT_SYMBOL(smp_call_function); |
| 121 | EXPORT_SYMBOL(cpu_callout_map); |
| 122 | #endif |
| 123 | |
| 124 | #ifdef CONFIG_VT |
| 125 | EXPORT_SYMBOL(screen_info); |
| 126 | #endif |
| 127 | |
| 128 | EXPORT_SYMBOL(get_wchan); |
| 129 | |
| 130 | EXPORT_SYMBOL(rtc_lock); |
| 131 | |
| 132 | EXPORT_SYMBOL_GPL(set_nmi_callback); |
| 133 | EXPORT_SYMBOL_GPL(unset_nmi_callback); |
| 134 | |
| 135 | /* Export string functions. We normally rely on gcc builtin for most of these, |
| 136 | but gcc sometimes decides not to inline them. */ |
| 137 | #undef memcpy |
| 138 | #undef memset |
| 139 | #undef memmove |
| 140 | #undef memchr |
| 141 | #undef strlen |
| 142 | #undef strcpy |
| 143 | #undef strncmp |
| 144 | #undef strncpy |
| 145 | #undef strchr |
| 146 | #undef strcmp |
| 147 | #undef strcpy |
| 148 | #undef strcat |
| 149 | #undef memcmp |
| 150 | |
| 151 | extern void * memset(void *,int,__kernel_size_t); |
| 152 | extern size_t strlen(const char *); |
| 153 | extern void * memmove(void * dest,const void *src,size_t count); |
| 154 | extern char * strcpy(char * dest,const char *src); |
| 155 | extern int strcmp(const char * cs,const char * ct); |
| 156 | extern void *memchr(const void *s, int c, size_t n); |
| 157 | extern void * memcpy(void *,const void *,__kernel_size_t); |
| 158 | extern void * __memcpy(void *,const void *,__kernel_size_t); |
| 159 | extern char * strcat(char *, const char *); |
| 160 | extern int memcmp(const void * cs,const void * ct,size_t count); |
| 161 | |
| 162 | EXPORT_SYMBOL(memset); |
| 163 | EXPORT_SYMBOL(strlen); |
| 164 | EXPORT_SYMBOL(memmove); |
| 165 | EXPORT_SYMBOL(strcpy); |
| 166 | EXPORT_SYMBOL(strncmp); |
| 167 | EXPORT_SYMBOL(strncpy); |
| 168 | EXPORT_SYMBOL(strchr); |
| 169 | EXPORT_SYMBOL(strcmp); |
| 170 | EXPORT_SYMBOL(strcat); |
| 171 | EXPORT_SYMBOL(strncat); |
| 172 | EXPORT_SYMBOL(memchr); |
| 173 | EXPORT_SYMBOL(strrchr); |
| 174 | EXPORT_SYMBOL(strnlen); |
| 175 | EXPORT_SYMBOL(memscan); |
| 176 | EXPORT_SYMBOL(memcpy); |
| 177 | EXPORT_SYMBOL(__memcpy); |
| 178 | EXPORT_SYMBOL(memcmp); |
| 179 | |
| 180 | #ifdef CONFIG_RWSEM_XCHGADD_ALGORITHM |
| 181 | /* prototypes are wrong, these are assembly with custom calling functions */ |
| 182 | extern void rwsem_down_read_failed_thunk(void); |
| 183 | extern void rwsem_wake_thunk(void); |
| 184 | extern void rwsem_downgrade_thunk(void); |
| 185 | extern void rwsem_down_write_failed_thunk(void); |
| 186 | EXPORT_SYMBOL(rwsem_down_read_failed_thunk); |
| 187 | EXPORT_SYMBOL(rwsem_wake_thunk); |
| 188 | EXPORT_SYMBOL(rwsem_downgrade_thunk); |
| 189 | EXPORT_SYMBOL(rwsem_down_write_failed_thunk); |
| 190 | #endif |
| 191 | |
| 192 | EXPORT_SYMBOL(empty_zero_page); |
| 193 | |
| 194 | #ifdef CONFIG_HAVE_DEC_LOCK |
| 195 | EXPORT_SYMBOL(_atomic_dec_and_lock); |
| 196 | #endif |
| 197 | |
| 198 | EXPORT_SYMBOL(die_chain); |
| 199 | EXPORT_SYMBOL(register_die_notifier); |
| 200 | |
| 201 | #ifdef CONFIG_SMP |
| 202 | EXPORT_SYMBOL(cpu_sibling_map); |
| 203 | EXPORT_SYMBOL(smp_num_siblings); |
| 204 | #endif |
| 205 | |
| 206 | extern void do_softirq_thunk(void); |
| 207 | EXPORT_SYMBOL(do_softirq_thunk); |
| 208 | |
| 209 | void out_of_line_bug(void); |
| 210 | EXPORT_SYMBOL(out_of_line_bug); |
| 211 | |
| 212 | EXPORT_SYMBOL(init_level4_pgt); |
| 213 | |
| 214 | extern unsigned long __supported_pte_mask; |
| 215 | EXPORT_SYMBOL(__supported_pte_mask); |
| 216 | |
| 217 | #ifdef CONFIG_SMP |
| 218 | EXPORT_SYMBOL(flush_tlb_page); |
| 219 | #endif |
| 220 | |
| 221 | EXPORT_SYMBOL(cpu_khz); |