1 #include <linux/config.h> 2 #include <linux/module.h> 3 #include <linux/smp.h> 4 #include <linux/user.h> 5 #include <linux/mca.h> 6 #include <linux/sched.h> 7 #include <linux/in6.h> 8 #include <linux/interrupt.h> 9 #include <linux/smp_lock.h> 10 #include <linux/pm.h> 11 #include <linux/pci.h> 12 #include <linux/kernel.h> 13 #include <linux/string.h> 14 #include <linux/tty.h> 15 #include <linux/string.h> 16 #include <linux/nmi.h> 17 18 #include <asm/ioctl32.h> 19 #include <asm/semaphore.h> 20 #include <asm/processor.h> 21 #include <asm/i387.h> 22 #include <asm/uaccess.h> 23 #include <asm/checksum.h> 24 #include <asm/io.h> 25 #include <asm/hardirq.h> 26 #include <asm/delay.h> 27 #include <asm/irq.h> 28 #include <asm/mmx.h> 29 #include <asm/desc.h> 30 #include <asm/pgtable.h> 31 #include <asm/pgalloc.h> 32 #include <asm/kdebug.h> 33 #include <asm/pgtable.h> 34 #include <asm/proto.h> 35 #define __KERNEL_SYSCALLS__ 1 36 #include <asm/unistd.h> 37 38 extern spinlock_t rtc_lock; 39 40 #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE) 41 extern struct drive_info_struct drive_info; 42 EXPORT_SYMBOL(drive_info); 43 #endif 44 45 /* platform dependent support */ 46 EXPORT_SYMBOL(boot_cpu_data); 47 EXPORT_SYMBOL(dump_fpu); 48 EXPORT_SYMBOL(__ioremap); 49 EXPORT_SYMBOL(iounmap); 50 EXPORT_SYMBOL(enable_irq); 51 EXPORT_SYMBOL(disable_irq); 52 EXPORT_SYMBOL(disable_irq_nosync); 53 EXPORT_SYMBOL(probe_irq_mask); 54 EXPORT_SYMBOL(kernel_thread); 55 EXPORT_SYMBOL(pm_idle); 56 EXPORT_SYMBOL(pm_power_off); 57 EXPORT_SYMBOL(sys_ioctl); 58 59 #ifdef CONFIG_IO_DEBUG 60 EXPORT_SYMBOL(__io_virt_debug); 61 #endif 62 63 EXPORT_SYMBOL_NOVERS(__down_failed); 64 EXPORT_SYMBOL_NOVERS(__down_failed_interruptible); 65 EXPORT_SYMBOL_NOVERS(__down_failed_trylock); 66 EXPORT_SYMBOL_NOVERS(__up_wakeup); 67 /* Networking helper routines. */ 68 EXPORT_SYMBOL(csum_partial_copy_nocheck); 69 /* Delay loops */ 70 EXPORT_SYMBOL(__udelay); 71 EXPORT_SYMBOL(__delay); 72 EXPORT_SYMBOL(__const_udelay); 73 74 EXPORT_SYMBOL_NOVERS(__get_user_1); 75 EXPORT_SYMBOL_NOVERS(__get_user_2); 76 EXPORT_SYMBOL_NOVERS(__get_user_4); 77 EXPORT_SYMBOL_NOVERS(__get_user_8); 78 EXPORT_SYMBOL_NOVERS(__put_user_1); 79 EXPORT_SYMBOL_NOVERS(__put_user_2); 80 EXPORT_SYMBOL_NOVERS(__put_user_4); 81 EXPORT_SYMBOL_NOVERS(__put_user_8); 82 83 EXPORT_SYMBOL_NOVERS(clear_page); 84 85 EXPORT_SYMBOL(strtok); 86 EXPORT_SYMBOL(strpbrk); 87 EXPORT_SYMBOL(strstr); 88 89 EXPORT_SYMBOL(strncpy_from_user); 90 EXPORT_SYMBOL(__strncpy_from_user); 91 EXPORT_SYMBOL(clear_user); 92 EXPORT_SYMBOL(__clear_user); 93 EXPORT_SYMBOL(strnlen_user); 94 95 EXPORT_SYMBOL(pci_alloc_consistent); 96 EXPORT_SYMBOL(pci_free_consistent); 97 98 EXPORT_SYMBOL(pci_map_sg); 99 EXPORT_SYMBOL(pci_unmap_sg); 100 EXPORT_SYMBOL(bad_dma_address); 101 102 #ifdef CONFIG_PCI 103 EXPORT_SYMBOL(pcibios_penalize_isa_irq); 104 EXPORT_SYMBOL(pci_mem_start); 105 #endif 106 107 #ifdef CONFIG_SMP 108 EXPORT_SYMBOL(cpu_data); 109 EXPORT_SYMBOL(kernel_flag_cacheline); 110 EXPORT_SYMBOL(smp_num_cpus); 111 EXPORT_SYMBOL(cpu_online_map); 112 extern void __read_lock_failed(void); 113 extern void __write_lock_failed(void); 114 EXPORT_SYMBOL_NOVERS(__write_lock_failed); 115 EXPORT_SYMBOL_NOVERS(__read_lock_failed); 116 117 /* Global SMP irq stuff */ 118 EXPORT_SYMBOL(synchronize_irq); 119 EXPORT_SYMBOL(global_irq_holder); 120 EXPORT_SYMBOL(__global_cli); 121 EXPORT_SYMBOL(__global_sti); 122 EXPORT_SYMBOL(__global_save_flags); 123 EXPORT_SYMBOL(__global_restore_flags); 124 EXPORT_SYMBOL(smp_call_function); 125 126 /* TLB flushing */ 127 EXPORT_SYMBOL(flush_tlb_page); 128 #endif 129 130 #ifdef CONFIG_MCA 131 EXPORT_SYMBOL(machine_id); 132 #endif 133 134 #ifdef CONFIG_VT 135 EXPORT_SYMBOL(screen_info); 136 #endif 137 138 EXPORT_SYMBOL(get_wchan); 139 140 EXPORT_SYMBOL(rtc_lock); 141 142 /* Export string functions. We normally rely on gcc builtin for most of these, 143 but gcc sometimes decides not to inline them. */ 144 #undef memcpy 145 #undef memset 146 #undef memmove 147 #undef strlen 148 #undef strcpy 149 #undef strcmp 150 #undef strncmp 151 #undef strncpy 152 #undef strchr 153 #undef strcmp 154 #undef bcopy 155 extern void * memcpy(void *,const void *,__kernel_size_t); 156 extern void * memset(void *,int,__kernel_size_t); 157 extern __kernel_size_t strlen(const char *); 158 extern int strcmp(const char *,const char *); 159 extern char * strcpy(char *,const char *); 160 extern void bcopy(const void * src, void * dest, size_t count); 161 162 EXPORT_SYMBOL_NOVERS(memcpy); 163 EXPORT_SYMBOL_NOVERS(__memcpy); 164 EXPORT_SYMBOL_NOVERS(memset); 165 EXPORT_SYMBOL_NOVERS(strlen); 166 EXPORT_SYMBOL_NOVERS(strcpy); 167 EXPORT_SYMBOL_NOVERS(memmove); 168 EXPORT_SYMBOL_NOVERS(strncmp); 169 EXPORT_SYMBOL_NOVERS(strncpy); 170 EXPORT_SYMBOL_NOVERS(strchr); 171 EXPORT_SYMBOL_NOVERS(strcat); 172 EXPORT_SYMBOL_NOVERS(strcmp); 173 EXPORT_SYMBOL_NOVERS(strncat); 174 EXPORT_SYMBOL_NOVERS(memchr); 175 EXPORT_SYMBOL_NOVERS(strrchr); 176 EXPORT_SYMBOL_NOVERS(strnlen); 177 EXPORT_SYMBOL_NOVERS(memcmp); 178 EXPORT_SYMBOL_NOVERS(memscan); 179 EXPORT_SYMBOL_NOVERS(bcopy); 180 181 EXPORT_SYMBOL(empty_zero_page); 182 183 #ifdef CONFIG_HAVE_DEC_LOCK 184 EXPORT_SYMBOL(atomic_dec_and_lock); 185 #endif 186 187 EXPORT_SYMBOL(die_chain); 188 189 extern void do_softirq_thunk(void); 190 EXPORT_SYMBOL_NOVERS(do_softirq_thunk); 191 192 extern unsigned long __supported_pte_mask; 193 EXPORT_SYMBOL(__supported_pte_mask); 194 195 EXPORT_SYMBOL(init_level4_pgt); 196 197 EXPORT_SYMBOL(copy_from_user); 198 EXPORT_SYMBOL(copy_to_user); 199 EXPORT_SYMBOL(copy_user_generic); 200 201 /* Export kernel syscalls */ 202 EXPORT_SYMBOL(sys_wait4); 203 EXPORT_SYMBOL(sys_exit); 204 EXPORT_SYMBOL(sys_write); 205 EXPORT_SYMBOL(sys_read); 206 EXPORT_SYMBOL(sys_open); 207 EXPORT_SYMBOL(sys_lseek); 208 EXPORT_SYMBOL(sys_dup); 209 EXPORT_SYMBOL(sys_delete_module); 210 EXPORT_SYMBOL(sys_sync); 211 EXPORT_SYMBOL(sys_pause); 212 EXPORT_SYMBOL(sys_setsid); /* Rather dubious */ 213 214 215 EXPORT_SYMBOL(memcpy_fromio); 216 EXPORT_SYMBOL(memcpy_toio); 217 218 EXPORT_SYMBOL(ip_compute_csum); 219 220 221 #ifdef CONFIG_DISCONTIGMEM 222 EXPORT_SYMBOL(memnode_shift); 223 EXPORT_SYMBOL(memnodemap); 224 EXPORT_SYMBOL(plat_node_data); 225 EXPORT_SYMBOL(fake_node); 226 #endif 227 228 extern void int_ret_from_sys_call(void); 229 EXPORT_SYMBOL_NOVERS(int_ret_from_sys_call); 230 231 EXPORT_SYMBOL(touch_nmi_watchdog); 232 233 EXPORT_SYMBOL(do_fork); 234