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