Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #include <linux/module.h> |
| 2 | #include <linux/smp.h> |
| 3 | #include <linux/user.h> |
| 4 | #include <linux/elfcore.h> |
| 5 | #include <linux/sched.h> |
| 6 | #include <linux/in6.h> |
| 7 | #include <linux/interrupt.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | #include <linux/vmalloc.h> |
| 9 | #include <linux/pci.h> |
| 10 | #include <linux/irq.h> |
| 11 | |
| 12 | #include <asm/semaphore.h> |
| 13 | #include <asm/processor.h> |
| 14 | #include <asm/uaccess.h> |
| 15 | #include <asm/checksum.h> |
| 16 | #include <asm/io.h> |
| 17 | #include <asm/delay.h> |
| 18 | #include <asm/tlbflush.h> |
| 19 | #include <asm/cacheflush.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | extern int dump_fpu(struct pt_regs *, elf_fpregset_t *); |
| 22 | extern struct hw_interrupt_type no_irq_type; |
| 23 | |
| 24 | EXPORT_SYMBOL(sh_mv); |
| 25 | |
| 26 | /* platform dependent support */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 27 | EXPORT_SYMBOL(dump_fpu); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 28 | EXPORT_SYMBOL(kernel_thread); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | EXPORT_SYMBOL(irq_desc); |
| 30 | EXPORT_SYMBOL(no_irq_type); |
| 31 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | EXPORT_SYMBOL(strlen); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | |
| 34 | /* PCI exports */ |
| 35 | #ifdef CONFIG_PCI |
| 36 | EXPORT_SYMBOL(pci_alloc_consistent); |
| 37 | EXPORT_SYMBOL(pci_free_consistent); |
| 38 | #endif |
| 39 | |
| 40 | /* mem exports */ |
| 41 | EXPORT_SYMBOL(memchr); |
| 42 | EXPORT_SYMBOL(memcpy); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 43 | EXPORT_SYMBOL(memset); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 44 | EXPORT_SYMBOL(memmove); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 45 | EXPORT_SYMBOL(__copy_user); |
| 46 | EXPORT_SYMBOL(boot_cpu_data); |
| 47 | |
| 48 | #ifdef CONFIG_MMU |
| 49 | EXPORT_SYMBOL(get_vm_area); |
| 50 | #endif |
| 51 | |
| 52 | /* semaphore exports */ |
| 53 | EXPORT_SYMBOL(__up); |
| 54 | EXPORT_SYMBOL(__down); |
| 55 | EXPORT_SYMBOL(__down_interruptible); |
| 56 | |
| 57 | EXPORT_SYMBOL(__udelay); |
| 58 | EXPORT_SYMBOL(__ndelay); |
| 59 | EXPORT_SYMBOL(__const_udelay); |
| 60 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 61 | #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name) |
| 62 | |
| 63 | /* These symbols are generated by the compiler itself */ |
| 64 | DECLARE_EXPORT(__udivsi3); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 65 | DECLARE_EXPORT(__sdivsi3); |
Paul Mundt | 98d877c | 2007-07-20 16:59:49 +0900 | [diff] [blame] | 66 | DECLARE_EXPORT(__ashrsi3); |
| 67 | DECLARE_EXPORT(__ashlsi3); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 68 | DECLARE_EXPORT(__ashrdi3); |
| 69 | DECLARE_EXPORT(__ashldi3); |
Paul Mundt | 98d877c | 2007-07-20 16:59:49 +0900 | [diff] [blame] | 70 | DECLARE_EXPORT(__ashiftrt_r4_6); |
| 71 | DECLARE_EXPORT(__ashiftrt_r4_7); |
| 72 | DECLARE_EXPORT(__ashiftrt_r4_8); |
| 73 | DECLARE_EXPORT(__ashiftrt_r4_9); |
| 74 | DECLARE_EXPORT(__ashiftrt_r4_10); |
| 75 | DECLARE_EXPORT(__ashiftrt_r4_11); |
| 76 | DECLARE_EXPORT(__ashiftrt_r4_12); |
| 77 | DECLARE_EXPORT(__ashiftrt_r4_13); |
| 78 | DECLARE_EXPORT(__ashiftrt_r4_14); |
| 79 | DECLARE_EXPORT(__ashiftrt_r4_15); |
| 80 | DECLARE_EXPORT(__ashiftrt_r4_20); |
| 81 | DECLARE_EXPORT(__ashiftrt_r4_21); |
| 82 | DECLARE_EXPORT(__ashiftrt_r4_22); |
| 83 | DECLARE_EXPORT(__ashiftrt_r4_23); |
| 84 | DECLARE_EXPORT(__ashiftrt_r4_24); |
| 85 | DECLARE_EXPORT(__ashiftrt_r4_27); |
| 86 | DECLARE_EXPORT(__ashiftrt_r4_30); |
| 87 | DECLARE_EXPORT(__lshrsi3); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 88 | DECLARE_EXPORT(__lshrdi3); |
Paul Mundt | 98d877c | 2007-07-20 16:59:49 +0900 | [diff] [blame] | 89 | DECLARE_EXPORT(__movstrSI8); |
| 90 | DECLARE_EXPORT(__movstrSI12); |
Paul Mundt | 711fa80 | 2006-10-03 13:14:04 +0900 | [diff] [blame] | 91 | DECLARE_EXPORT(__movstrSI16); |
Paul Mundt | 98d877c | 2007-07-20 16:59:49 +0900 | [diff] [blame] | 92 | DECLARE_EXPORT(__movstrSI20); |
| 93 | DECLARE_EXPORT(__movstrSI24); |
| 94 | DECLARE_EXPORT(__movstrSI28); |
| 95 | DECLARE_EXPORT(__movstrSI32); |
| 96 | DECLARE_EXPORT(__movstrSI36); |
| 97 | DECLARE_EXPORT(__movstrSI40); |
| 98 | DECLARE_EXPORT(__movstrSI44); |
| 99 | DECLARE_EXPORT(__movstrSI48); |
| 100 | DECLARE_EXPORT(__movstrSI52); |
| 101 | DECLARE_EXPORT(__movstrSI56); |
| 102 | DECLARE_EXPORT(__movstrSI60); |
Stuart Menefy | ff4e2ca7 | 2006-12-07 17:48:52 +0900 | [diff] [blame] | 103 | #if __GNUC__ == 4 |
| 104 | DECLARE_EXPORT(__movmem); |
| 105 | #else |
| 106 | DECLARE_EXPORT(__movstr); |
| 107 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 108 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 109 | #ifdef CONFIG_CPU_SH4 |
Stuart Menefy | ff4e2ca7 | 2006-12-07 17:48:52 +0900 | [diff] [blame] | 110 | #if __GNUC__ == 4 |
| 111 | DECLARE_EXPORT(__movmem_i4_even); |
| 112 | DECLARE_EXPORT(__movmem_i4_odd); |
| 113 | DECLARE_EXPORT(__movmemSI12_i4); |
Paul Mundt | 2414b86 | 2007-07-13 09:30:31 +0900 | [diff] [blame] | 114 | |
| 115 | #if (__GNUC_MINOR__ == 2 || defined(__GNUC_STM_RELEASE__)) |
| 116 | /* |
| 117 | * GCC 4.2 emits these for division, as do GCC 4.1.x versions of the ST |
| 118 | * compiler which include backported patches. |
| 119 | */ |
| 120 | DECLARE_EXPORT(__sdivsi3_i4i); |
| 121 | DECLARE_EXPORT(__udiv_qrnnd_16); |
| 122 | DECLARE_EXPORT(__udivsi3_i4i); |
| 123 | #endif |
Stuart Menefy | ff4e2ca7 | 2006-12-07 17:48:52 +0900 | [diff] [blame] | 124 | #else /* GCC 3.x */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 125 | DECLARE_EXPORT(__movstr_i4_even); |
| 126 | DECLARE_EXPORT(__movstr_i4_odd); |
| 127 | DECLARE_EXPORT(__movstrSI12_i4); |
Stuart Menefy | ff4e2ca7 | 2006-12-07 17:48:52 +0900 | [diff] [blame] | 128 | #endif /* __GNUC__ == 4 */ |
Yoshinori Sato | a2d1a5f | 2006-09-27 17:25:07 +0900 | [diff] [blame] | 129 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 130 | |
Yoshinori Sato | a2d1a5f | 2006-09-27 17:25:07 +0900 | [diff] [blame] | 131 | #if defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 132 | /* needed by some modules */ |
| 133 | EXPORT_SYMBOL(flush_cache_all); |
| 134 | EXPORT_SYMBOL(flush_cache_range); |
| 135 | EXPORT_SYMBOL(flush_dcache_page); |
| 136 | EXPORT_SYMBOL(__flush_purge_region); |
| 137 | #endif |
| 138 | |
Paul Mundt | e5723e0 | 2006-09-27 17:38:11 +0900 | [diff] [blame] | 139 | #if defined(CONFIG_MMU) && (defined(CONFIG_CPU_SH4) || \ |
| 140 | defined(CONFIG_SH7705_CACHE_32KB)) |
Yoshinori Sato | a2d1a5f | 2006-09-27 17:25:07 +0900 | [diff] [blame] | 141 | EXPORT_SYMBOL(clear_user_page); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 142 | #endif |
| 143 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 144 | EXPORT_SYMBOL(__down_trylock); |
| 145 | |
| 146 | #ifdef CONFIG_SMP |
| 147 | EXPORT_SYMBOL(synchronize_irq); |
| 148 | #endif |
| 149 | |
| 150 | EXPORT_SYMBOL(csum_partial); |
Paul Mundt | 98d877c | 2007-07-20 16:59:49 +0900 | [diff] [blame] | 151 | EXPORT_SYMBOL(csum_partial_copy_generic); |
Paul Mundt | e4c2cfe | 2006-09-27 12:31:01 +0900 | [diff] [blame] | 152 | #ifdef CONFIG_IPV6 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 153 | EXPORT_SYMBOL(csum_ipv6_magic); |
Paul Mundt | e4c2cfe | 2006-09-27 12:31:01 +0900 | [diff] [blame] | 154 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 155 | EXPORT_SYMBOL(clear_page); |
Paul Mundt | 98d877c | 2007-07-20 16:59:49 +0900 | [diff] [blame] | 156 | EXPORT_SYMBOL(__clear_user); |