Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 1 | #include <linux/module.h> |
| 2 | #include <linux/threads.h> |
| 3 | #include <linux/smp.h> |
| 4 | #include <linux/sched.h> |
| 5 | #include <linux/elfcore.h> |
| 6 | #include <linux/string.h> |
| 7 | #include <linux/interrupt.h> |
Jon Smirl | 894673e | 2006-07-10 04:44:13 -0700 | [diff] [blame] | 8 | #include <linux/screen_info.h> |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 9 | #include <linux/vt_kern.h> |
| 10 | #include <linux/nvram.h> |
| 11 | #include <linux/console.h> |
| 12 | #include <linux/irq.h> |
| 13 | #include <linux/pci.h> |
| 14 | #include <linux/delay.h> |
| 15 | #include <linux/ide.h> |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 16 | #include <linux/bitops.h> |
| 17 | |
| 18 | #include <asm/page.h> |
| 19 | #include <asm/semaphore.h> |
| 20 | #include <asm/processor.h> |
| 21 | #include <asm/uaccess.h> |
| 22 | #include <asm/io.h> |
| 23 | #include <asm/ide.h> |
| 24 | #include <asm/atomic.h> |
| 25 | #include <asm/checksum.h> |
| 26 | #include <asm/pgtable.h> |
| 27 | #include <asm/tlbflush.h> |
| 28 | #include <linux/adb.h> |
| 29 | #include <linux/cuda.h> |
| 30 | #include <linux/pmu.h> |
| 31 | #include <asm/prom.h> |
| 32 | #include <asm/system.h> |
| 33 | #include <asm/pci-bridge.h> |
| 34 | #include <asm/irq.h> |
| 35 | #include <asm/pmac_feature.h> |
| 36 | #include <asm/dma.h> |
| 37 | #include <asm/machdep.h> |
| 38 | #include <asm/hw_irq.h> |
| 39 | #include <asm/nvram.h> |
| 40 | #include <asm/mmu_context.h> |
| 41 | #include <asm/backlight.h> |
| 42 | #include <asm/time.h> |
| 43 | #include <asm/cputable.h> |
| 44 | #include <asm/btext.h> |
| 45 | #include <asm/div64.h> |
David Gibson | c5ff700 | 2005-11-09 11:21:07 +1100 | [diff] [blame] | 46 | #include <asm/signal.h> |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 47 | |
| 48 | #ifdef CONFIG_8xx |
| 49 | #include <asm/commproc.h> |
| 50 | #endif |
| 51 | |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 52 | #ifdef CONFIG_PPC32 |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 53 | extern void transfer_to_handler(void); |
| 54 | extern void do_IRQ(struct pt_regs *regs); |
Stephen Rothwell | dc1c1ca | 2005-10-01 18:43:42 +1000 | [diff] [blame] | 55 | extern void machine_check_exception(struct pt_regs *regs); |
| 56 | extern void alignment_exception(struct pt_regs *regs); |
| 57 | extern void program_check_exception(struct pt_regs *regs); |
| 58 | extern void single_step_exception(struct pt_regs *regs); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 59 | extern int sys_sigreturn(struct pt_regs *regs); |
| 60 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 61 | EXPORT_SYMBOL(clear_pages); |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 62 | EXPORT_SYMBOL(ISA_DMA_THRESHOLD); |
| 63 | EXPORT_SYMBOL(DMA_MODE_READ); |
| 64 | EXPORT_SYMBOL(DMA_MODE_WRITE); |
| 65 | EXPORT_SYMBOL(__div64_32); |
| 66 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 67 | EXPORT_SYMBOL(do_signal); |
| 68 | EXPORT_SYMBOL(transfer_to_handler); |
| 69 | EXPORT_SYMBOL(do_IRQ); |
Stephen Rothwell | dc1c1ca | 2005-10-01 18:43:42 +1000 | [diff] [blame] | 70 | EXPORT_SYMBOL(machine_check_exception); |
| 71 | EXPORT_SYMBOL(alignment_exception); |
| 72 | EXPORT_SYMBOL(program_check_exception); |
| 73 | EXPORT_SYMBOL(single_step_exception); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 74 | EXPORT_SYMBOL(sys_sigreturn); |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 75 | #endif |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 76 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 77 | EXPORT_SYMBOL(strcpy); |
| 78 | EXPORT_SYMBOL(strncpy); |
| 79 | EXPORT_SYMBOL(strcat); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 80 | EXPORT_SYMBOL(strlen); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 81 | EXPORT_SYMBOL(strcmp); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 82 | EXPORT_SYMBOL(strcasecmp); |
Kumar Gala | 34ddf73 | 2006-04-02 16:01:58 -0500 | [diff] [blame] | 83 | EXPORT_SYMBOL(strncasecmp); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 84 | |
| 85 | EXPORT_SYMBOL(csum_partial); |
| 86 | EXPORT_SYMBOL(csum_partial_copy_generic); |
| 87 | EXPORT_SYMBOL(ip_fast_csum); |
| 88 | EXPORT_SYMBOL(csum_tcpudp_magic); |
| 89 | |
| 90 | EXPORT_SYMBOL(__copy_tofrom_user); |
| 91 | EXPORT_SYMBOL(__clear_user); |
| 92 | EXPORT_SYMBOL(__strncpy_from_user); |
| 93 | EXPORT_SYMBOL(__strnlen_user); |
David Howells | 3dd836a | 2006-09-12 16:04:25 +0100 | [diff] [blame^] | 94 | #ifdef CONFIG_PPC64 |
| 95 | EXPORT_SYMBOL(copy_4K_page); |
| 96 | #endif |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 97 | |
Ben Collins | fa63b22 | 2005-11-15 00:09:09 -0800 | [diff] [blame] | 98 | #ifndef __powerpc64__ |
| 99 | EXPORT_SYMBOL(__ide_mm_insl); |
| 100 | EXPORT_SYMBOL(__ide_mm_outsw); |
| 101 | EXPORT_SYMBOL(__ide_mm_insw); |
| 102 | EXPORT_SYMBOL(__ide_mm_outsl); |
| 103 | #endif |
| 104 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 105 | EXPORT_SYMBOL(_insb); |
| 106 | EXPORT_SYMBOL(_outsb); |
| 107 | EXPORT_SYMBOL(_insw); |
| 108 | EXPORT_SYMBOL(_outsw); |
| 109 | EXPORT_SYMBOL(_insl); |
| 110 | EXPORT_SYMBOL(_outsl); |
| 111 | EXPORT_SYMBOL(_insw_ns); |
| 112 | EXPORT_SYMBOL(_outsw_ns); |
| 113 | EXPORT_SYMBOL(_insl_ns); |
| 114 | EXPORT_SYMBOL(_outsl_ns); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 115 | |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 116 | #if defined(CONFIG_PPC32) && (defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)) |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 117 | EXPORT_SYMBOL(ppc_ide_md); |
| 118 | #endif |
| 119 | |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 120 | #if defined(CONFIG_PCI) && defined(CONFIG_PPC32) |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 121 | EXPORT_SYMBOL(isa_io_base); |
| 122 | EXPORT_SYMBOL(isa_mem_base); |
| 123 | EXPORT_SYMBOL(pci_dram_offset); |
| 124 | EXPORT_SYMBOL(pci_alloc_consistent); |
| 125 | EXPORT_SYMBOL(pci_free_consistent); |
| 126 | EXPORT_SYMBOL(pci_bus_io_base); |
| 127 | EXPORT_SYMBOL(pci_bus_io_base_phys); |
| 128 | EXPORT_SYMBOL(pci_bus_mem_base_phys); |
| 129 | EXPORT_SYMBOL(pci_bus_to_hose); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 130 | #endif /* CONFIG_PCI */ |
| 131 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 132 | EXPORT_SYMBOL(start_thread); |
| 133 | EXPORT_SYMBOL(kernel_thread); |
| 134 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 135 | EXPORT_SYMBOL(giveup_fpu); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 136 | #ifdef CONFIG_ALTIVEC |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 137 | EXPORT_SYMBOL(giveup_altivec); |
| 138 | #endif /* CONFIG_ALTIVEC */ |
| 139 | #ifdef CONFIG_SPE |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 140 | EXPORT_SYMBOL(giveup_spe); |
| 141 | #endif /* CONFIG_SPE */ |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 142 | |
Paul Mackerras | 666acb9 | 2005-11-29 15:50:58 +1100 | [diff] [blame] | 143 | #ifndef CONFIG_PPC64 |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 144 | EXPORT_SYMBOL(flush_instruction_cache); |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 145 | EXPORT_SYMBOL(flush_tlb_kernel_range); |
| 146 | EXPORT_SYMBOL(flush_tlb_page); |
| 147 | EXPORT_SYMBOL(_tlbie); |
| 148 | #endif |
Paul Mackerras | 666acb9 | 2005-11-29 15:50:58 +1100 | [diff] [blame] | 149 | EXPORT_SYMBOL(__flush_icache_range); |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 150 | EXPORT_SYMBOL(flush_dcache_range); |
| 151 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 152 | #ifdef CONFIG_SMP |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 153 | #ifdef CONFIG_PPC32 |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 154 | EXPORT_SYMBOL(smp_hw_index); |
| 155 | #endif |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 156 | #endif |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 157 | |
| 158 | #ifdef CONFIG_ADB |
| 159 | EXPORT_SYMBOL(adb_request); |
| 160 | EXPORT_SYMBOL(adb_register); |
| 161 | EXPORT_SYMBOL(adb_unregister); |
| 162 | EXPORT_SYMBOL(adb_poll); |
| 163 | EXPORT_SYMBOL(adb_try_handler_change); |
| 164 | #endif /* CONFIG_ADB */ |
| 165 | #ifdef CONFIG_ADB_CUDA |
| 166 | EXPORT_SYMBOL(cuda_request); |
| 167 | EXPORT_SYMBOL(cuda_poll); |
| 168 | #endif /* CONFIG_ADB_CUDA */ |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 169 | #ifdef CONFIG_VT |
| 170 | EXPORT_SYMBOL(kd_mksound); |
| 171 | #endif |
| 172 | EXPORT_SYMBOL(to_tm); |
| 173 | |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 174 | #ifdef CONFIG_PPC32 |
| 175 | long long __ashrdi3(long long, int); |
| 176 | long long __ashldi3(long long, int); |
| 177 | long long __lshrdi3(long long, int); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 178 | EXPORT_SYMBOL(__ashrdi3); |
| 179 | EXPORT_SYMBOL(__ashldi3); |
| 180 | EXPORT_SYMBOL(__lshrdi3); |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 181 | #endif |
| 182 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 183 | EXPORT_SYMBOL(memcpy); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 184 | EXPORT_SYMBOL(memset); |
| 185 | EXPORT_SYMBOL(memmove); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 186 | EXPORT_SYMBOL(memcmp); |
| 187 | EXPORT_SYMBOL(memchr); |
| 188 | |
| 189 | #if defined(CONFIG_FB_VGA16_MODULE) |
| 190 | EXPORT_SYMBOL(screen_info); |
| 191 | #endif |
| 192 | |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 193 | #ifdef CONFIG_PPC32 |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 194 | EXPORT_SYMBOL(timer_interrupt); |
| 195 | EXPORT_SYMBOL(irq_desc); |
| 196 | EXPORT_SYMBOL(tb_ticks_per_jiffy); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 197 | EXPORT_SYMBOL(console_drivers); |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 198 | EXPORT_SYMBOL(cacheable_memcpy); |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 199 | #endif |
| 200 | |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 201 | #ifdef CONFIG_8xx |
| 202 | EXPORT_SYMBOL(cpm_install_handler); |
| 203 | EXPORT_SYMBOL(cpm_free_handler); |
| 204 | #endif /* CONFIG_8xx */ |
Kumar Gala | 7d13d21a | 2006-01-13 11:19:58 -0600 | [diff] [blame] | 205 | #if defined(CONFIG_8xx) || defined(CONFIG_40x) |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 206 | EXPORT_SYMBOL(__res); |
| 207 | #endif |
| 208 | |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 209 | #ifdef CONFIG_PPC32 |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 210 | EXPORT_SYMBOL(next_mmu_context); |
| 211 | EXPORT_SYMBOL(set_context); |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 212 | #endif |
| 213 | |
| 214 | #ifdef CONFIG_PPC_STD_MMU_32 |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 215 | extern long mol_trampoline; |
| 216 | EXPORT_SYMBOL(mol_trampoline); /* For MOL */ |
| 217 | EXPORT_SYMBOL(flush_hash_pages); /* For MOL */ |
| 218 | #ifdef CONFIG_SMP |
| 219 | extern int mmu_hash_lock; |
| 220 | EXPORT_SYMBOL(mmu_hash_lock); /* For MOL */ |
| 221 | #endif /* CONFIG_SMP */ |
| 222 | extern long *intercept_table; |
| 223 | EXPORT_SYMBOL(intercept_table); |
Paul Mackerras | 40ef8cb | 2005-10-10 22:50:37 +1000 | [diff] [blame] | 224 | #endif /* CONFIG_PPC_STD_MMU_32 */ |
Paul Mackerras | 20c8c21 | 2005-09-28 20:28:14 +1000 | [diff] [blame] | 225 | #if defined(CONFIG_40x) || defined(CONFIG_BOOKE) |
| 226 | EXPORT_SYMBOL(__mtdcr); |
| 227 | EXPORT_SYMBOL(__mfdcr); |
| 228 | #endif |