blob: 37aef0a85197b7b754998e0f0d126cde9ee9cdbf [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);
Paul Mundt98d877c2007-07-20 16:59:49 +090066DECLARE_EXPORT(__ashrsi3);
67DECLARE_EXPORT(__ashlsi3);
Linus Torvalds1da177e2005-04-16 15:20:36 -070068DECLARE_EXPORT(__ashrdi3);
69DECLARE_EXPORT(__ashldi3);
Paul Mundt98d877c2007-07-20 16:59:49 +090070DECLARE_EXPORT(__ashiftrt_r4_6);
71DECLARE_EXPORT(__ashiftrt_r4_7);
72DECLARE_EXPORT(__ashiftrt_r4_8);
73DECLARE_EXPORT(__ashiftrt_r4_9);
74DECLARE_EXPORT(__ashiftrt_r4_10);
75DECLARE_EXPORT(__ashiftrt_r4_11);
76DECLARE_EXPORT(__ashiftrt_r4_12);
77DECLARE_EXPORT(__ashiftrt_r4_13);
78DECLARE_EXPORT(__ashiftrt_r4_14);
79DECLARE_EXPORT(__ashiftrt_r4_15);
80DECLARE_EXPORT(__ashiftrt_r4_20);
81DECLARE_EXPORT(__ashiftrt_r4_21);
82DECLARE_EXPORT(__ashiftrt_r4_22);
83DECLARE_EXPORT(__ashiftrt_r4_23);
84DECLARE_EXPORT(__ashiftrt_r4_24);
85DECLARE_EXPORT(__ashiftrt_r4_27);
86DECLARE_EXPORT(__ashiftrt_r4_30);
87DECLARE_EXPORT(__lshrsi3);
Linus Torvalds1da177e2005-04-16 15:20:36 -070088DECLARE_EXPORT(__lshrdi3);
Paul Mundt98d877c2007-07-20 16:59:49 +090089DECLARE_EXPORT(__movstrSI8);
90DECLARE_EXPORT(__movstrSI12);
Paul Mundt711fa802006-10-03 13:14:04 +090091DECLARE_EXPORT(__movstrSI16);
Paul Mundt98d877c2007-07-20 16:59:49 +090092DECLARE_EXPORT(__movstrSI20);
93DECLARE_EXPORT(__movstrSI24);
94DECLARE_EXPORT(__movstrSI28);
95DECLARE_EXPORT(__movstrSI32);
96DECLARE_EXPORT(__movstrSI36);
97DECLARE_EXPORT(__movstrSI40);
98DECLARE_EXPORT(__movstrSI44);
99DECLARE_EXPORT(__movstrSI48);
100DECLARE_EXPORT(__movstrSI52);
101DECLARE_EXPORT(__movstrSI56);
102DECLARE_EXPORT(__movstrSI60);
Stuart Menefyff4e2ca72006-12-07 17:48:52 +0900103#if __GNUC__ == 4
104DECLARE_EXPORT(__movmem);
105#else
106DECLARE_EXPORT(__movstr);
107#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109#ifdef CONFIG_CPU_SH4
Stuart Menefyff4e2ca72006-12-07 17:48:52 +0900110#if __GNUC__ == 4
111DECLARE_EXPORT(__movmem_i4_even);
112DECLARE_EXPORT(__movmem_i4_odd);
113DECLARE_EXPORT(__movmemSI12_i4);
Paul Mundt2414b862007-07-13 09:30:31 +0900114
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 */
120DECLARE_EXPORT(__sdivsi3_i4i);
121DECLARE_EXPORT(__udiv_qrnnd_16);
122DECLARE_EXPORT(__udivsi3_i4i);
123#endif
Stuart Menefyff4e2ca72006-12-07 17:48:52 +0900124#else /* GCC 3.x */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125DECLARE_EXPORT(__movstr_i4_even);
126DECLARE_EXPORT(__movstr_i4_odd);
127DECLARE_EXPORT(__movstrSI12_i4);
Stuart Menefyff4e2ca72006-12-07 17:48:52 +0900128#endif /* __GNUC__ == 4 */
Yoshinori Satoa2d1a5f2006-09-27 17:25:07 +0900129#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130
Yoshinori Satoa2d1a5f2006-09-27 17:25:07 +0900131#if defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700132/* needed by some modules */
133EXPORT_SYMBOL(flush_cache_all);
134EXPORT_SYMBOL(flush_cache_range);
135EXPORT_SYMBOL(flush_dcache_page);
136EXPORT_SYMBOL(__flush_purge_region);
137#endif
138
Paul Mundte5723e02006-09-27 17:38:11 +0900139#if defined(CONFIG_MMU) && (defined(CONFIG_CPU_SH4) || \
140 defined(CONFIG_SH7705_CACHE_32KB))
Yoshinori Satoa2d1a5f2006-09-27 17:25:07 +0900141EXPORT_SYMBOL(clear_user_page);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700142#endif
143
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144EXPORT_SYMBOL(__down_trylock);
145
146#ifdef CONFIG_SMP
147EXPORT_SYMBOL(synchronize_irq);
148#endif
149
150EXPORT_SYMBOL(csum_partial);
Paul Mundt98d877c2007-07-20 16:59:49 +0900151EXPORT_SYMBOL(csum_partial_copy_generic);
Paul Mundte4c2cfe2006-09-27 12:31:01 +0900152#ifdef CONFIG_IPV6
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153EXPORT_SYMBOL(csum_ipv6_magic);
Paul Mundte4c2cfe2006-09-27 12:31:01 +0900154#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155EXPORT_SYMBOL(clear_page);
Paul Mundt98d877c2007-07-20 16:59:49 +0900156EXPORT_SYMBOL(__clear_user);