11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/module.h> 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/linkage.h> 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/sched.h> 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/string.h> 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/mm.h> 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/user.h> 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/elfcore.h> 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/in6.h> 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/interrupt.h> 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/setup.h> 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/pgalloc.h> 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/irq.h> 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/io.h> 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/checksum.h> 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/hardirq.h> 17402344012ebe696d9353bbf056889ddaaec83079David Howells#include <asm/cacheflush.h> 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern long __memcpy_user(void *dst, const void *src, size_t count); 20402344012ebe696d9353bbf056889ddaaec83079David Howellsextern long __memset_user(void *dst, const void *src, size_t count); 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* platform dependent support */ 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__ioremap); 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(iounmap); 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(ip_fast_csum); 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#if 0 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(local_irq_count); 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(local_bh_count); 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__res_bus_clock_speed_HZ); 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__page_offset); 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__memcpy_user); 37402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(__memset_user); 38402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(frv_dcache_writeback); 39402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(frv_cache_invalidate); 40402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(frv_icache_invalidate); 41402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(frv_cache_wback_inv); 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef CONFIG_MMU 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(memory_start); 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(memory_end); 461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__debug_bug_trap); 491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* The following are special because they're not called 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds explicitly (the C compiler generates them). Fortunately, 521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds their interface isn't gonna change any time soon now, so 531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds it's OK to leave it out of version control. */ 541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(memcpy); 551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(memset); 561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 57402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(__outsl_ns); 58402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(__insl_ns); 59402344012ebe696d9353bbf056889ddaaec83079David Howells 601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifdef CONFIG_FRV_OUTOFLINE_ATOMIC_OPS 611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(atomic_test_and_ANDNOT_mask); 621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(atomic_test_and_OR_mask); 631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(atomic_test_and_XOR_mask); 641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(atomic_add_return); 651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(atomic_sub_return); 661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__xchg_32); 671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__cmpxchg_32); 681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 6900460f41fffc0435dbb6ab4b058a190163d57ce6David HowellsEXPORT_SYMBOL(atomic64_add_return); 7000460f41fffc0435dbb6ab4b058a190163d57ce6David HowellsEXPORT_SYMBOL(atomic64_sub_return); 7100460f41fffc0435dbb6ab4b058a190163d57ce6David HowellsEXPORT_SYMBOL(__xchg_64); 7200460f41fffc0435dbb6ab4b058a190163d57ce6David HowellsEXPORT_SYMBOL(__cmpxchg_64); 731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 74402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(__debug_bug_printk); 75402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(__delay_loops_MHz); 76402344012ebe696d9353bbf056889ddaaec83079David Howells 771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * libgcc functions - functions that are used internally by the 791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * compiler... (prototypes are not correct though, but that 801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * doesn't really matter since they're not versioned). 811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __gcc_bcmp(void); 831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __ashldi3(void); 841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __ashrdi3(void); 851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __cmpdi2(void); 861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __divdi3(void); 871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __lshrdi3(void); 881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __moddi3(void); 891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __muldi3(void); 90402344012ebe696d9353bbf056889ddaaec83079David Howellsextern void __mulll(void); 91402344012ebe696d9353bbf056889ddaaec83079David Howellsextern void __umulll(void); 921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __negdi2(void); 931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __ucmpdi2(void); 941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __udivdi3(void); 951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __udivmoddi4(void); 961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void __umoddi3(void); 971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds /* gcc lib functions */ 991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds//EXPORT_SYMBOL(__gcc_bcmp); 1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__ashldi3); 1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__ashrdi3); 1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds//EXPORT_SYMBOL(__cmpdi2); 1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds//EXPORT_SYMBOL(__divdi3); 1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__lshrdi3); 1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds//EXPORT_SYMBOL(__moddi3); 1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__muldi3); 107402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(__mulll); 108402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(__umulll); 1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsEXPORT_SYMBOL(__negdi2); 110402344012ebe696d9353bbf056889ddaaec83079David HowellsEXPORT_SYMBOL(__ucmpdi2); 1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds//EXPORT_SYMBOL(__udivdi3); 1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds//EXPORT_SYMBOL(__udivmoddi4); 1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds//EXPORT_SYMBOL(__umoddi3); 114