1/* 2 * Architecture-specific kernel symbols 3 * 4 * Don't put any exports here unless it's defined in an assembler file. 5 * All other exports should be put directly after the definition. 6 */ 7 8#include <linux/module.h> 9 10#include <linux/string.h> 11EXPORT_SYMBOL(memset); 12EXPORT_SYMBOL(memcpy); 13EXPORT_SYMBOL(strlen); 14 15#include <asm/checksum.h> 16EXPORT_SYMBOL(ip_fast_csum); /* hand-coded assembly */ 17EXPORT_SYMBOL(csum_ipv6_magic); 18 19#include <asm/semaphore.h> 20EXPORT_SYMBOL(__down); 21EXPORT_SYMBOL(__down_interruptible); 22EXPORT_SYMBOL(__down_trylock); 23EXPORT_SYMBOL(__up); 24 25#include <asm/page.h> 26EXPORT_SYMBOL(clear_page); 27 28#ifdef CONFIG_VIRTUAL_MEM_MAP 29#include <linux/bootmem.h> 30EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */ 31EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */ 32#endif 33 34#include <asm/processor.h> 35EXPORT_SYMBOL(per_cpu__cpu_info); 36#ifdef CONFIG_SMP 37EXPORT_SYMBOL(per_cpu__local_per_cpu_offset); 38#endif 39 40#include <asm/uaccess.h> 41EXPORT_SYMBOL(__copy_user); 42EXPORT_SYMBOL(__do_clear_user); 43EXPORT_SYMBOL(__strlen_user); 44EXPORT_SYMBOL(__strncpy_from_user); 45EXPORT_SYMBOL(__strnlen_user); 46 47/* from arch/ia64/lib */ 48extern void __divsi3(void); 49extern void __udivsi3(void); 50extern void __modsi3(void); 51extern void __umodsi3(void); 52extern void __divdi3(void); 53extern void __udivdi3(void); 54extern void __moddi3(void); 55extern void __umoddi3(void); 56 57EXPORT_SYMBOL(__divsi3); 58EXPORT_SYMBOL(__udivsi3); 59EXPORT_SYMBOL(__modsi3); 60EXPORT_SYMBOL(__umodsi3); 61EXPORT_SYMBOL(__divdi3); 62EXPORT_SYMBOL(__udivdi3); 63EXPORT_SYMBOL(__moddi3); 64EXPORT_SYMBOL(__umoddi3); 65 66#if defined(CONFIG_MD_RAID456) || defined(CONFIG_MD_RAID456_MODULE) 67extern void xor_ia64_2(void); 68extern void xor_ia64_3(void); 69extern void xor_ia64_4(void); 70extern void xor_ia64_5(void); 71 72EXPORT_SYMBOL(xor_ia64_2); 73EXPORT_SYMBOL(xor_ia64_3); 74EXPORT_SYMBOL(xor_ia64_4); 75EXPORT_SYMBOL(xor_ia64_5); 76#endif 77 78#include <asm/pal.h> 79EXPORT_SYMBOL(ia64_pal_call_phys_stacked); 80EXPORT_SYMBOL(ia64_pal_call_phys_static); 81EXPORT_SYMBOL(ia64_pal_call_stacked); 82EXPORT_SYMBOL(ia64_pal_call_static); 83EXPORT_SYMBOL(ia64_load_scratch_fpregs); 84EXPORT_SYMBOL(ia64_save_scratch_fpregs); 85 86#include <asm/unwind.h> 87EXPORT_SYMBOL(unw_init_running); 88 89#ifdef ASM_SUPPORTED 90# ifdef CONFIG_SMP 91# if (__GNUC__ == 3 && __GNUC_MINOR__ < 3) 92/* 93 * This is not a normal routine and we don't want a function descriptor for it, so we use 94 * a fake declaration here. 95 */ 96extern char ia64_spinlock_contention_pre3_4; 97EXPORT_SYMBOL(ia64_spinlock_contention_pre3_4); 98# else 99/* 100 * This is not a normal routine and we don't want a function descriptor for it, so we use 101 * a fake declaration here. 102 */ 103extern char ia64_spinlock_contention; 104EXPORT_SYMBOL(ia64_spinlock_contention); 105# endif 106# endif 107#endif 108 109#if defined(CONFIG_IA64_ESI) || defined(CONFIG_IA64_ESI_MODULE) 110extern void esi_call_phys (void); 111EXPORT_SYMBOL_GPL(esi_call_phys); 112#endif 113extern char ia64_ivt[]; 114EXPORT_SYMBOL(ia64_ivt); 115