| // SPDX-License-Identifier: GPL-2.0 | |
| #include <linux/module.h> | |
| #include <linux/linkage.h> | |
| #include <linux/sched.h> | |
| #include <linux/string.h> | |
| #include <linux/mm.h> | |
| #include <linux/user.h> | |
| #include <linux/elfcore.h> | |
| #include <linux/in6.h> | |
| #include <linux/interrupt.h> | |
| #include <asm/setup.h> | |
| #include <asm/pgalloc.h> | |
| #include <asm/irq.h> | |
| #include <asm/io.h> | |
| #include <asm/checksum.h> | |
| #include <asm/hardirq.h> | |
| #include <asm/cacheflush.h> | |
| extern long __memcpy_user(void *dst, const void *src, size_t count); | |
| extern long __memset_user(void *dst, const void *src, size_t count); | |
| /* platform dependent support */ | |
| EXPORT_SYMBOL(__ioremap); | |
| EXPORT_SYMBOL(iounmap); | |
| EXPORT_SYMBOL(ip_fast_csum); | |
| #if 0 | |
| EXPORT_SYMBOL(local_irq_count); | |
| EXPORT_SYMBOL(local_bh_count); | |
| #endif | |
| EXPORT_SYMBOL(__res_bus_clock_speed_HZ); | |
| EXPORT_SYMBOL(__page_offset); | |
| EXPORT_SYMBOL(__memcpy_user); | |
| EXPORT_SYMBOL(__memset_user); | |
| EXPORT_SYMBOL(frv_dcache_writeback); | |
| EXPORT_SYMBOL(frv_cache_invalidate); | |
| EXPORT_SYMBOL(frv_icache_invalidate); | |
| EXPORT_SYMBOL(frv_cache_wback_inv); | |
| #ifndef CONFIG_MMU | |
| EXPORT_SYMBOL(memory_start); | |
| EXPORT_SYMBOL(memory_end); | |
| #endif | |
| EXPORT_SYMBOL(__debug_bug_trap); | |
| /* The following are special because they're not called | |
| explicitly (the C compiler generates them). Fortunately, | |
| their interface isn't gonna change any time soon now, so | |
| it's OK to leave it out of version control. */ | |
| EXPORT_SYMBOL(memcpy); | |
| EXPORT_SYMBOL(memset); | |
| EXPORT_SYMBOL(__outsl_ns); | |
| EXPORT_SYMBOL(__insl_ns); | |
| #ifdef CONFIG_FRV_OUTOFLINE_ATOMIC_OPS | |
| EXPORT_SYMBOL(__xchg_32); | |
| EXPORT_SYMBOL(__cmpxchg_32); | |
| #endif | |
| EXPORT_SYMBOL(atomic64_add_return); | |
| EXPORT_SYMBOL(atomic64_sub_return); | |
| EXPORT_SYMBOL(__xchg_64); | |
| EXPORT_SYMBOL(__cmpxchg_64); | |
| EXPORT_SYMBOL(__debug_bug_printk); | |
| EXPORT_SYMBOL(__delay_loops_MHz); | |
| /* | |
| * libgcc functions - functions that are used internally by the | |
| * compiler... (prototypes are not correct though, but that | |
| * doesn't really matter since they're not versioned). | |
| */ | |
| extern void __gcc_bcmp(void); | |
| extern void __ashldi3(void); | |
| extern void __ashrdi3(void); | |
| extern void __cmpdi2(void); | |
| extern void __divdi3(void); | |
| extern void __lshrdi3(void); | |
| extern void __moddi3(void); | |
| extern void __muldi3(void); | |
| extern void __mulll(void); | |
| extern void __umulll(void); | |
| extern void __negdi2(void); | |
| extern void __ucmpdi2(void); | |
| extern void __udivdi3(void); | |
| extern void __udivmoddi4(void); | |
| extern void __umoddi3(void); | |
| /* gcc lib functions */ | |
| //EXPORT_SYMBOL(__gcc_bcmp); | |
| EXPORT_SYMBOL(__ashldi3); | |
| EXPORT_SYMBOL(__ashrdi3); | |
| //EXPORT_SYMBOL(__cmpdi2); | |
| //EXPORT_SYMBOL(__divdi3); | |
| EXPORT_SYMBOL(__lshrdi3); | |
| //EXPORT_SYMBOL(__moddi3); | |
| EXPORT_SYMBOL(__muldi3); | |
| EXPORT_SYMBOL(__mulll); | |
| EXPORT_SYMBOL(__umulll); | |
| EXPORT_SYMBOL(__negdi2); | |
| EXPORT_SYMBOL(__ucmpdi2); | |
| //EXPORT_SYMBOL(__udivdi3); | |
| //EXPORT_SYMBOL(__udivmoddi4); | |
| //EXPORT_SYMBOL(__umoddi3); |