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); |
| 66 | DECLARE_EXPORT(__ashrdi3); |
| 67 | DECLARE_EXPORT(__ashldi3); |
| 68 | DECLARE_EXPORT(__lshrdi3); |
Paul Mundt | 711fa80 | 2006-10-03 13:14:04 +0900 | [diff] [blame] | 69 | DECLARE_EXPORT(__movstrSI16); |
Stuart Menefy | ff4e2ca7 | 2006-12-07 17:48:52 +0900 | [diff] [blame] | 70 | #if __GNUC__ == 4 |
| 71 | DECLARE_EXPORT(__movmem); |
| 72 | #else |
| 73 | DECLARE_EXPORT(__movstr); |
| 74 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 75 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 | #ifdef CONFIG_CPU_SH4 |
Stuart Menefy | ff4e2ca7 | 2006-12-07 17:48:52 +0900 | [diff] [blame] | 77 | #if __GNUC__ == 4 |
| 78 | DECLARE_EXPORT(__movmem_i4_even); |
| 79 | DECLARE_EXPORT(__movmem_i4_odd); |
| 80 | DECLARE_EXPORT(__movmemSI12_i4); |
Paul Mundt | 2414b86 | 2007-07-13 09:30:31 +0900 | [diff] [blame^] | 81 | |
| 82 | #if (__GNUC_MINOR__ == 2 || defined(__GNUC_STM_RELEASE__)) |
| 83 | /* |
| 84 | * GCC 4.2 emits these for division, as do GCC 4.1.x versions of the ST |
| 85 | * compiler which include backported patches. |
| 86 | */ |
| 87 | DECLARE_EXPORT(__sdivsi3_i4i); |
| 88 | DECLARE_EXPORT(__udiv_qrnnd_16); |
| 89 | DECLARE_EXPORT(__udivsi3_i4i); |
| 90 | #endif |
Stuart Menefy | ff4e2ca7 | 2006-12-07 17:48:52 +0900 | [diff] [blame] | 91 | #else /* GCC 3.x */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 92 | DECLARE_EXPORT(__movstr_i4_even); |
| 93 | DECLARE_EXPORT(__movstr_i4_odd); |
| 94 | DECLARE_EXPORT(__movstrSI12_i4); |
Stuart Menefy | ff4e2ca7 | 2006-12-07 17:48:52 +0900 | [diff] [blame] | 95 | #endif /* __GNUC__ == 4 */ |
Yoshinori Sato | a2d1a5f | 2006-09-27 17:25:07 +0900 | [diff] [blame] | 96 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 97 | |
Yoshinori Sato | a2d1a5f | 2006-09-27 17:25:07 +0900 | [diff] [blame] | 98 | #if defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 99 | /* needed by some modules */ |
| 100 | EXPORT_SYMBOL(flush_cache_all); |
| 101 | EXPORT_SYMBOL(flush_cache_range); |
| 102 | EXPORT_SYMBOL(flush_dcache_page); |
| 103 | EXPORT_SYMBOL(__flush_purge_region); |
| 104 | #endif |
| 105 | |
Paul Mundt | e5723e0 | 2006-09-27 17:38:11 +0900 | [diff] [blame] | 106 | #if defined(CONFIG_MMU) && (defined(CONFIG_CPU_SH4) || \ |
| 107 | defined(CONFIG_SH7705_CACHE_32KB)) |
Yoshinori Sato | a2d1a5f | 2006-09-27 17:25:07 +0900 | [diff] [blame] | 108 | EXPORT_SYMBOL(clear_user_page); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 109 | #endif |
| 110 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 111 | EXPORT_SYMBOL(__down_trylock); |
| 112 | |
| 113 | #ifdef CONFIG_SMP |
| 114 | EXPORT_SYMBOL(synchronize_irq); |
| 115 | #endif |
| 116 | |
| 117 | EXPORT_SYMBOL(csum_partial); |
Paul Mundt | e4c2cfe | 2006-09-27 12:31:01 +0900 | [diff] [blame] | 118 | #ifdef CONFIG_IPV6 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 119 | EXPORT_SYMBOL(csum_ipv6_magic); |
Paul Mundt | e4c2cfe | 2006-09-27 12:31:01 +0900 | [diff] [blame] | 120 | #endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 121 | EXPORT_SYMBOL(clear_page); |