blob: 89362e05cc462f9053ec38c7802b5cca493e922a [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);
Paul Mundtf7f86342007-08-08 18:11:26 +090056EXPORT_SYMBOL(__down_trylock);
Linus Torvalds1da177e2005-04-16 15:20:36 -070057
58EXPORT_SYMBOL(__udelay);
59EXPORT_SYMBOL(__ndelay);
60EXPORT_SYMBOL(__const_udelay);
61
Linus Torvalds1da177e2005-04-16 15:20:36 -070062#define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name)
63
64/* These symbols are generated by the compiler itself */
65DECLARE_EXPORT(__udivsi3);
Linus Torvalds1da177e2005-04-16 15:20:36 -070066DECLARE_EXPORT(__sdivsi3);
Paul Mundt98d877c2007-07-20 16:59:49 +090067DECLARE_EXPORT(__ashrsi3);
68DECLARE_EXPORT(__ashlsi3);
Linus Torvalds1da177e2005-04-16 15:20:36 -070069DECLARE_EXPORT(__ashrdi3);
70DECLARE_EXPORT(__ashldi3);
Paul Mundt98d877c2007-07-20 16:59:49 +090071DECLARE_EXPORT(__ashiftrt_r4_6);
72DECLARE_EXPORT(__ashiftrt_r4_7);
73DECLARE_EXPORT(__ashiftrt_r4_8);
74DECLARE_EXPORT(__ashiftrt_r4_9);
75DECLARE_EXPORT(__ashiftrt_r4_10);
76DECLARE_EXPORT(__ashiftrt_r4_11);
77DECLARE_EXPORT(__ashiftrt_r4_12);
78DECLARE_EXPORT(__ashiftrt_r4_13);
79DECLARE_EXPORT(__ashiftrt_r4_14);
80DECLARE_EXPORT(__ashiftrt_r4_15);
81DECLARE_EXPORT(__ashiftrt_r4_20);
82DECLARE_EXPORT(__ashiftrt_r4_21);
83DECLARE_EXPORT(__ashiftrt_r4_22);
84DECLARE_EXPORT(__ashiftrt_r4_23);
85DECLARE_EXPORT(__ashiftrt_r4_24);
86DECLARE_EXPORT(__ashiftrt_r4_27);
87DECLARE_EXPORT(__ashiftrt_r4_30);
88DECLARE_EXPORT(__lshrsi3);
Linus Torvalds1da177e2005-04-16 15:20:36 -070089DECLARE_EXPORT(__lshrdi3);
Paul Mundt98d877c2007-07-20 16:59:49 +090090DECLARE_EXPORT(__movstrSI8);
91DECLARE_EXPORT(__movstrSI12);
Paul Mundt711fa802006-10-03 13:14:04 +090092DECLARE_EXPORT(__movstrSI16);
Paul Mundt98d877c2007-07-20 16:59:49 +090093DECLARE_EXPORT(__movstrSI20);
94DECLARE_EXPORT(__movstrSI24);
95DECLARE_EXPORT(__movstrSI28);
96DECLARE_EXPORT(__movstrSI32);
97DECLARE_EXPORT(__movstrSI36);
98DECLARE_EXPORT(__movstrSI40);
99DECLARE_EXPORT(__movstrSI44);
100DECLARE_EXPORT(__movstrSI48);
101DECLARE_EXPORT(__movstrSI52);
102DECLARE_EXPORT(__movstrSI56);
103DECLARE_EXPORT(__movstrSI60);
Stuart Menefyff4e2ca72006-12-07 17:48:52 +0900104#if __GNUC__ == 4
105DECLARE_EXPORT(__movmem);
106#else
107DECLARE_EXPORT(__movstr);
108#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110#ifdef CONFIG_CPU_SH4
Stuart Menefyff4e2ca72006-12-07 17:48:52 +0900111#if __GNUC__ == 4
112DECLARE_EXPORT(__movmem_i4_even);
113DECLARE_EXPORT(__movmem_i4_odd);
114DECLARE_EXPORT(__movmemSI12_i4);
Paul Mundt2414b862007-07-13 09:30:31 +0900115
116#if (__GNUC_MINOR__ == 2 || defined(__GNUC_STM_RELEASE__))
117/*
118 * GCC 4.2 emits these for division, as do GCC 4.1.x versions of the ST
119 * compiler which include backported patches.
120 */
121DECLARE_EXPORT(__sdivsi3_i4i);
122DECLARE_EXPORT(__udiv_qrnnd_16);
123DECLARE_EXPORT(__udivsi3_i4i);
124#endif
Stuart Menefyff4e2ca72006-12-07 17:48:52 +0900125#else /* GCC 3.x */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126DECLARE_EXPORT(__movstr_i4_even);
127DECLARE_EXPORT(__movstr_i4_odd);
128DECLARE_EXPORT(__movstrSI12_i4);
Stuart Menefyff4e2ca72006-12-07 17:48:52 +0900129#endif /* __GNUC__ == 4 */
Yoshinori Satoa2d1a5f2006-09-27 17:25:07 +0900130#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131
Paul Mundte7bd34a2007-07-31 17:07:28 +0900132#if !defined(CONFIG_CACHE_OFF) && (defined(CONFIG_CPU_SH4) || \
133 defined(CONFIG_SH7705_CACHE_32KB))
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134/* needed by some modules */
135EXPORT_SYMBOL(flush_cache_all);
136EXPORT_SYMBOL(flush_cache_range);
137EXPORT_SYMBOL(flush_dcache_page);
138EXPORT_SYMBOL(__flush_purge_region);
139#endif
140
Paul Mundte7bd34a2007-07-31 17:07:28 +0900141#if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \
142 (defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB))
Yoshinori Satoa2d1a5f2006-09-27 17:25:07 +0900143EXPORT_SYMBOL(clear_user_page);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144#endif
145
Linus Torvalds1da177e2005-04-16 15:20:36 -0700146EXPORT_SYMBOL(csum_partial);
Paul Mundt98d877c2007-07-20 16:59:49 +0900147EXPORT_SYMBOL(csum_partial_copy_generic);
Paul Mundte4c2cfe2006-09-27 12:31:01 +0900148#ifdef CONFIG_IPV6
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149EXPORT_SYMBOL(csum_ipv6_magic);
Paul Mundte4c2cfe2006-09-27 12:31:01 +0900150#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151EXPORT_SYMBOL(clear_page);
Paul Mundt98d877c2007-07-20 16:59:49 +0900152EXPORT_SYMBOL(__clear_user);