xref: /openbmc/linux/arch/sh/kernel/sh_ksyms_32.c (revision 9d2b1f81dd93b198e12bca8120afec4a7b609b06)
14b7be4f2SPaul Mundt #include <linux/module.h>
24b7be4f2SPaul Mundt #include <linux/smp.h>
34b7be4f2SPaul Mundt #include <linux/user.h>
44b7be4f2SPaul Mundt #include <linux/elfcore.h>
54b7be4f2SPaul Mundt #include <linux/sched.h>
64b7be4f2SPaul Mundt #include <linux/in6.h>
74b7be4f2SPaul Mundt #include <linux/interrupt.h>
84b7be4f2SPaul Mundt #include <linux/vmalloc.h>
94b7be4f2SPaul Mundt #include <linux/pci.h>
104b7be4f2SPaul Mundt #include <linux/irq.h>
114b7be4f2SPaul Mundt #include <asm/sections.h>
124b7be4f2SPaul Mundt #include <asm/processor.h>
134b7be4f2SPaul Mundt #include <asm/uaccess.h>
144b7be4f2SPaul Mundt #include <asm/checksum.h>
154b7be4f2SPaul Mundt #include <asm/io.h>
164b7be4f2SPaul Mundt #include <asm/delay.h>
174b7be4f2SPaul Mundt #include <asm/tlbflush.h>
184b7be4f2SPaul Mundt #include <asm/cacheflush.h>
19*9d2b1f81SPaul Mundt #include <asm/ftrace.h>
204b7be4f2SPaul Mundt 
214b7be4f2SPaul Mundt extern int dump_fpu(struct pt_regs *, elf_fpregset_t *);
224b7be4f2SPaul Mundt extern struct hw_interrupt_type no_irq_type;
234b7be4f2SPaul Mundt 
244b7be4f2SPaul Mundt /* platform dependent support */
254b7be4f2SPaul Mundt EXPORT_SYMBOL(dump_fpu);
264b7be4f2SPaul Mundt EXPORT_SYMBOL(kernel_thread);
274b7be4f2SPaul Mundt EXPORT_SYMBOL(irq_desc);
284b7be4f2SPaul Mundt EXPORT_SYMBOL(no_irq_type);
294b7be4f2SPaul Mundt 
304b7be4f2SPaul Mundt EXPORT_SYMBOL(strlen);
314b7be4f2SPaul Mundt 
324b7be4f2SPaul Mundt /* PCI exports */
334b7be4f2SPaul Mundt #ifdef CONFIG_PCI
344b7be4f2SPaul Mundt EXPORT_SYMBOL(pci_alloc_consistent);
354b7be4f2SPaul Mundt EXPORT_SYMBOL(pci_free_consistent);
364b7be4f2SPaul Mundt #endif
374b7be4f2SPaul Mundt 
384b7be4f2SPaul Mundt /* mem exports */
394b7be4f2SPaul Mundt EXPORT_SYMBOL(memchr);
404b7be4f2SPaul Mundt EXPORT_SYMBOL(memcpy);
414b7be4f2SPaul Mundt EXPORT_SYMBOL(memset);
424b7be4f2SPaul Mundt EXPORT_SYMBOL(memmove);
434b7be4f2SPaul Mundt EXPORT_SYMBOL(__copy_user);
444b7be4f2SPaul Mundt 
454b7be4f2SPaul Mundt #ifdef CONFIG_MMU
464b7be4f2SPaul Mundt EXPORT_SYMBOL(get_vm_area);
474b7be4f2SPaul Mundt #endif
484b7be4f2SPaul Mundt 
494b7be4f2SPaul Mundt EXPORT_SYMBOL(__udelay);
504b7be4f2SPaul Mundt EXPORT_SYMBOL(__ndelay);
514b7be4f2SPaul Mundt EXPORT_SYMBOL(__const_udelay);
524b7be4f2SPaul Mundt 
534b7be4f2SPaul Mundt #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name)
544b7be4f2SPaul Mundt 
554b7be4f2SPaul Mundt /* These symbols are generated by the compiler itself */
564b7be4f2SPaul Mundt DECLARE_EXPORT(__udivsi3);
574b7be4f2SPaul Mundt DECLARE_EXPORT(__sdivsi3);
584b7be4f2SPaul Mundt DECLARE_EXPORT(__ashrsi3);
594b7be4f2SPaul Mundt DECLARE_EXPORT(__ashlsi3);
604b7be4f2SPaul Mundt DECLARE_EXPORT(__ashrdi3);
614b7be4f2SPaul Mundt DECLARE_EXPORT(__ashldi3);
624b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_6);
634b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_7);
644b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_8);
654b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_9);
664b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_10);
674b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_11);
684b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_12);
694b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_13);
704b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_14);
714b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_15);
724b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_20);
734b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_21);
744b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_22);
754b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_23);
764b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_24);
774b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_27);
784b7be4f2SPaul Mundt DECLARE_EXPORT(__ashiftrt_r4_30);
794b7be4f2SPaul Mundt DECLARE_EXPORT(__lshrsi3);
804b7be4f2SPaul Mundt DECLARE_EXPORT(__lshrdi3);
814b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI8);
824b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI12);
834b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI16);
844b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI20);
854b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI24);
864b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI28);
874b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI32);
884b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI36);
894b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI40);
904b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI44);
914b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI48);
924b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI52);
934b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI56);
944b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI60);
954b7be4f2SPaul Mundt #if __GNUC__ == 4
964b7be4f2SPaul Mundt DECLARE_EXPORT(__movmem);
974b7be4f2SPaul Mundt #else
984b7be4f2SPaul Mundt DECLARE_EXPORT(__movstr);
994b7be4f2SPaul Mundt #endif
1004b7be4f2SPaul Mundt 
1014b7be4f2SPaul Mundt #if __GNUC__ == 4
1024b7be4f2SPaul Mundt DECLARE_EXPORT(__movmem_i4_even);
1034b7be4f2SPaul Mundt DECLARE_EXPORT(__movmem_i4_odd);
1044b7be4f2SPaul Mundt DECLARE_EXPORT(__movmemSI12_i4);
1054b7be4f2SPaul Mundt 
1064bee4ca2SAdrian Bunk #if (__GNUC_MINOR__ >= 2 || defined(__GNUC_STM_RELEASE__))
1074b7be4f2SPaul Mundt /*
1084bee4ca2SAdrian Bunk  * GCC >= 4.2 emits these for division, as do GCC 4.1.x versions of the ST
1094b7be4f2SPaul Mundt  * compiler which include backported patches.
1104b7be4f2SPaul Mundt  */
1114b7be4f2SPaul Mundt DECLARE_EXPORT(__udiv_qrnnd_16);
112d09d328cSYoshinori Sato #if !defined(CONFIG_CPU_SH2)
113d09d328cSYoshinori Sato DECLARE_EXPORT(__sdivsi3_i4i);
1144b7be4f2SPaul Mundt DECLARE_EXPORT(__udivsi3_i4i);
1154b7be4f2SPaul Mundt #endif
116d09d328cSYoshinori Sato #endif
1174b7be4f2SPaul Mundt #else /* GCC 3.x */
1184b7be4f2SPaul Mundt DECLARE_EXPORT(__movstr_i4_even);
1194b7be4f2SPaul Mundt DECLARE_EXPORT(__movstr_i4_odd);
1204b7be4f2SPaul Mundt DECLARE_EXPORT(__movstrSI12_i4);
1214b7be4f2SPaul Mundt #endif /* __GNUC__ == 4 */
1224b7be4f2SPaul Mundt 
1234b7be4f2SPaul Mundt #if !defined(CONFIG_CACHE_OFF) && (defined(CONFIG_CPU_SH4) || \
1244b7be4f2SPaul Mundt 	defined(CONFIG_SH7705_CACHE_32KB))
1254b7be4f2SPaul Mundt /* needed by some modules */
1264b7be4f2SPaul Mundt EXPORT_SYMBOL(flush_cache_all);
1274b7be4f2SPaul Mundt EXPORT_SYMBOL(flush_cache_range);
1284b7be4f2SPaul Mundt EXPORT_SYMBOL(flush_dcache_page);
1294b7be4f2SPaul Mundt EXPORT_SYMBOL(__flush_purge_region);
1304b7be4f2SPaul Mundt #endif
1314b7be4f2SPaul Mundt 
1324b7be4f2SPaul Mundt #if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \
1334b7be4f2SPaul Mundt 	(defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB))
1344b7be4f2SPaul Mundt EXPORT_SYMBOL(clear_user_page);
1354b7be4f2SPaul Mundt #endif
1364b7be4f2SPaul Mundt 
137*9d2b1f81SPaul Mundt #ifdef CONFIG_FTRACE
138*9d2b1f81SPaul Mundt EXPORT_SYMBOL(mcount);
139*9d2b1f81SPaul Mundt #endif
1404b7be4f2SPaul Mundt EXPORT_SYMBOL(csum_partial);
1414b7be4f2SPaul Mundt EXPORT_SYMBOL(csum_partial_copy_generic);
1424b7be4f2SPaul Mundt #ifdef CONFIG_IPV6
1434b7be4f2SPaul Mundt EXPORT_SYMBOL(csum_ipv6_magic);
1444b7be4f2SPaul Mundt #endif
1454b7be4f2SPaul Mundt EXPORT_SYMBOL(clear_page);
146ad0caae0SAndrew Morton EXPORT_SYMBOL(copy_page);
1474b7be4f2SPaul Mundt EXPORT_SYMBOL(__clear_user);
1484b7be4f2SPaul Mundt EXPORT_SYMBOL(_ebss);
149fd785d6bSAndrew Morton EXPORT_SYMBOL(empty_zero_page);
150