blob: c968dcf09eee0610e7aa524f0393c60ab0feb96e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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 Torvalds1da177e2005-04-16 15:20:36 -07008#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 Torvalds1da177e2005-04-16 15:20:36 -070020
Linus Torvalds1da177e2005-04-16 15:20:36 -070021extern int dump_fpu(struct pt_regs *, elf_fpregset_t *);
22extern struct hw_interrupt_type no_irq_type;
23
24EXPORT_SYMBOL(sh_mv);
25
26/* platform dependent support */
Linus Torvalds1da177e2005-04-16 15:20:36 -070027EXPORT_SYMBOL(dump_fpu);
Linus Torvalds1da177e2005-04-16 15:20:36 -070028EXPORT_SYMBOL(kernel_thread);
Linus Torvalds1da177e2005-04-16 15:20:36 -070029EXPORT_SYMBOL(irq_desc);
30EXPORT_SYMBOL(no_irq_type);
31
Linus Torvalds1da177e2005-04-16 15:20:36 -070032EXPORT_SYMBOL(strlen);
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34/* PCI exports */
35#ifdef CONFIG_PCI
36EXPORT_SYMBOL(pci_alloc_consistent);
37EXPORT_SYMBOL(pci_free_consistent);
38#endif
39
40/* mem exports */
41EXPORT_SYMBOL(memchr);
42EXPORT_SYMBOL(memcpy);
Linus Torvalds1da177e2005-04-16 15:20:36 -070043EXPORT_SYMBOL(memset);
Linus Torvalds1da177e2005-04-16 15:20:36 -070044EXPORT_SYMBOL(memmove);
Linus Torvalds1da177e2005-04-16 15:20:36 -070045EXPORT_SYMBOL(__copy_user);
46EXPORT_SYMBOL(boot_cpu_data);
47
48#ifdef CONFIG_MMU
49EXPORT_SYMBOL(get_vm_area);
50#endif
51
52/* semaphore exports */
53EXPORT_SYMBOL(__up);
54EXPORT_SYMBOL(__down);
55EXPORT_SYMBOL(__down_interruptible);
56
57EXPORT_SYMBOL(__udelay);
58EXPORT_SYMBOL(__ndelay);
59EXPORT_SYMBOL(__const_udelay);
60
Linus Torvalds1da177e2005-04-16 15:20:36 -070061#define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name)
62
63/* These symbols are generated by the compiler itself */
64DECLARE_EXPORT(__udivsi3);
Linus Torvalds1da177e2005-04-16 15:20:36 -070065DECLARE_EXPORT(__sdivsi3);
66DECLARE_EXPORT(__ashrdi3);
67DECLARE_EXPORT(__ashldi3);
68DECLARE_EXPORT(__lshrdi3);
Paul Mundt711fa802006-10-03 13:14:04 +090069DECLARE_EXPORT(__movstrSI16);
Stuart Menefyff4e2ca72006-12-07 17:48:52 +090070#if __GNUC__ == 4
71DECLARE_EXPORT(__movmem);
72#else
73DECLARE_EXPORT(__movstr);
74#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070075
Linus Torvalds1da177e2005-04-16 15:20:36 -070076#ifdef CONFIG_CPU_SH4
Stuart Menefyff4e2ca72006-12-07 17:48:52 +090077#if __GNUC__ == 4
78DECLARE_EXPORT(__movmem_i4_even);
79DECLARE_EXPORT(__movmem_i4_odd);
80DECLARE_EXPORT(__movmemSI12_i4);
Paul Mundt2414b862007-07-13 09:30:31 +090081
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 */
87DECLARE_EXPORT(__sdivsi3_i4i);
88DECLARE_EXPORT(__udiv_qrnnd_16);
89DECLARE_EXPORT(__udivsi3_i4i);
90#endif
Stuart Menefyff4e2ca72006-12-07 17:48:52 +090091#else /* GCC 3.x */
Linus Torvalds1da177e2005-04-16 15:20:36 -070092DECLARE_EXPORT(__movstr_i4_even);
93DECLARE_EXPORT(__movstr_i4_odd);
94DECLARE_EXPORT(__movstrSI12_i4);
Stuart Menefyff4e2ca72006-12-07 17:48:52 +090095#endif /* __GNUC__ == 4 */
Yoshinori Satoa2d1a5f2006-09-27 17:25:07 +090096#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070097
Yoshinori Satoa2d1a5f2006-09-27 17:25:07 +090098#if defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB)
Linus Torvalds1da177e2005-04-16 15:20:36 -070099/* needed by some modules */
100EXPORT_SYMBOL(flush_cache_all);
101EXPORT_SYMBOL(flush_cache_range);
102EXPORT_SYMBOL(flush_dcache_page);
103EXPORT_SYMBOL(__flush_purge_region);
104#endif
105
Paul Mundte5723e02006-09-27 17:38:11 +0900106#if defined(CONFIG_MMU) && (defined(CONFIG_CPU_SH4) || \
107 defined(CONFIG_SH7705_CACHE_32KB))
Yoshinori Satoa2d1a5f2006-09-27 17:25:07 +0900108EXPORT_SYMBOL(clear_user_page);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109#endif
110
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111EXPORT_SYMBOL(__down_trylock);
112
113#ifdef CONFIG_SMP
114EXPORT_SYMBOL(synchronize_irq);
115#endif
116
117EXPORT_SYMBOL(csum_partial);
Paul Mundte4c2cfe2006-09-27 12:31:01 +0900118#ifdef CONFIG_IPV6
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119EXPORT_SYMBOL(csum_ipv6_magic);
Paul Mundte4c2cfe2006-09-27 12:31:01 +0900120#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121EXPORT_SYMBOL(clear_page);