1/* 2 * Export of symbols defined in assembler 3 */ 4 5/* Tell string.h we don't want memcpy etc. as cpp defines */ 6#define EXPORT_SYMTAB_STROPS 7 8#include <linux/module.h> 9#include <linux/string.h> 10#include <linux/types.h> 11 12#include <asm/checksum.h> 13#include <asm/uaccess.h> 14#include <asm/ftrace.h> 15 16/* string functions */ 17EXPORT_SYMBOL(strlen); 18EXPORT_SYMBOL(strncmp); 19 20/* mem* functions */ 21extern void *__memscan_zero(void *, size_t); 22extern void *__memscan_generic(void *, int, size_t); 23extern void *__bzero(void *, size_t); 24 25EXPORT_SYMBOL(memscan); 26EXPORT_SYMBOL(__memscan_zero); 27EXPORT_SYMBOL(__memscan_generic); 28EXPORT_SYMBOL(memcmp); 29EXPORT_SYMBOL(memcpy); 30EXPORT_SYMBOL(memset); 31EXPORT_SYMBOL(memmove); 32EXPORT_SYMBOL(__bzero); 33 34/* Networking helper routines. */ 35EXPORT_SYMBOL(csum_partial); 36 37#ifdef CONFIG_MCOUNT 38EXPORT_SYMBOL(_mcount); 39#endif 40 41/* 42 * sparc 43 */ 44#ifdef CONFIG_SPARC32 45extern int __ashrdi3(int, int); 46extern int __ashldi3(int, int); 47extern int __lshrdi3(int, int); 48extern int __muldi3(int, int); 49extern int __divdi3(int, int); 50 51extern void (*__copy_1page)(void *, const void *); 52extern void (*bzero_1page)(void *); 53 54extern void ___rw_read_enter(void); 55extern void ___rw_read_try(void); 56extern void ___rw_read_exit(void); 57extern void ___rw_write_enter(void); 58 59/* Networking helper routines. */ 60EXPORT_SYMBOL(__csum_partial_copy_sparc_generic); 61 62/* Special internal versions of library functions. */ 63EXPORT_SYMBOL(__copy_1page); 64EXPORT_SYMBOL(__memmove); 65EXPORT_SYMBOL(bzero_1page); 66 67/* Moving data to/from/in userspace. */ 68EXPORT_SYMBOL(__copy_user); 69 70/* Used by asm/spinlock.h */ 71#ifdef CONFIG_SMP 72EXPORT_SYMBOL(___rw_read_enter); 73EXPORT_SYMBOL(___rw_read_try); 74EXPORT_SYMBOL(___rw_read_exit); 75EXPORT_SYMBOL(___rw_write_enter); 76#endif 77 78EXPORT_SYMBOL(__ashrdi3); 79EXPORT_SYMBOL(__ashldi3); 80EXPORT_SYMBOL(__lshrdi3); 81EXPORT_SYMBOL(__muldi3); 82EXPORT_SYMBOL(__divdi3); 83#endif 84 85/* 86 * sparc64 87 */ 88#ifdef CONFIG_SPARC64 89/* Networking helper routines. */ 90EXPORT_SYMBOL(csum_partial_copy_nocheck); 91EXPORT_SYMBOL(__csum_partial_copy_from_user); 92EXPORT_SYMBOL(__csum_partial_copy_to_user); 93EXPORT_SYMBOL(ip_fast_csum); 94 95/* Moving data to/from/in userspace. */ 96EXPORT_SYMBOL(___copy_to_user); 97EXPORT_SYMBOL(___copy_from_user); 98EXPORT_SYMBOL(___copy_in_user); 99EXPORT_SYMBOL(__clear_user); 100 101/* Atomic counter implementation. */ 102#define ATOMIC_OP(op) \ 103EXPORT_SYMBOL(atomic_##op); \ 104EXPORT_SYMBOL(atomic64_##op); 105 106#define ATOMIC_OP_RETURN(op) \ 107EXPORT_SYMBOL(atomic_##op##_return); \ 108EXPORT_SYMBOL(atomic64_##op##_return); 109 110#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_OP_RETURN(op) 111 112ATOMIC_OPS(add) 113ATOMIC_OPS(sub) 114ATOMIC_OP(and) 115ATOMIC_OP(or) 116ATOMIC_OP(xor) 117 118#undef ATOMIC_OPS 119#undef ATOMIC_OP_RETURN 120#undef ATOMIC_OP 121 122EXPORT_SYMBOL(atomic64_dec_if_positive); 123 124/* Atomic bit operations. */ 125EXPORT_SYMBOL(test_and_set_bit); 126EXPORT_SYMBOL(test_and_clear_bit); 127EXPORT_SYMBOL(test_and_change_bit); 128EXPORT_SYMBOL(set_bit); 129EXPORT_SYMBOL(clear_bit); 130EXPORT_SYMBOL(change_bit); 131 132/* Special internal versions of library functions. */ 133EXPORT_SYMBOL(_clear_page); 134EXPORT_SYMBOL(clear_user_page); 135EXPORT_SYMBOL(copy_user_page); 136 137/* RAID code needs this */ 138void VISenter(void); 139EXPORT_SYMBOL(VISenter); 140 141extern void xor_vis_2(unsigned long, unsigned long *, unsigned long *); 142extern void xor_vis_3(unsigned long, unsigned long *, unsigned long *, 143 unsigned long *); 144extern void xor_vis_4(unsigned long, unsigned long *, unsigned long *, 145 unsigned long *, unsigned long *); 146extern void xor_vis_5(unsigned long, unsigned long *, unsigned long *, 147 unsigned long *, unsigned long *, unsigned long *); 148EXPORT_SYMBOL(xor_vis_2); 149EXPORT_SYMBOL(xor_vis_3); 150EXPORT_SYMBOL(xor_vis_4); 151EXPORT_SYMBOL(xor_vis_5); 152 153extern void xor_niagara_2(unsigned long, unsigned long *, unsigned long *); 154extern void xor_niagara_3(unsigned long, unsigned long *, unsigned long *, 155 unsigned long *); 156extern void xor_niagara_4(unsigned long, unsigned long *, unsigned long *, 157 unsigned long *, unsigned long *); 158extern void xor_niagara_5(unsigned long, unsigned long *, unsigned long *, 159 unsigned long *, unsigned long *, unsigned long *); 160 161EXPORT_SYMBOL(xor_niagara_2); 162EXPORT_SYMBOL(xor_niagara_3); 163EXPORT_SYMBOL(xor_niagara_4); 164EXPORT_SYMBOL(xor_niagara_5); 165#endif 166