1 /* Exports for assembly files. 2 All C exports should go in the respective C files. */ 3 4 #include <linux/module.h> 5 #include <linux/smp.h> 6 7 #include <net/checksum.h> 8 9 #include <asm/processor.h> 10 #include <asm/pgtable.h> 11 #include <asm/uaccess.h> 12 #include <asm/desc.h> 13 #include <asm/ftrace.h> 14 15 #ifdef CONFIG_FUNCTION_TRACER 16 /* mcount and __fentry__ are defined in assembly */ 17 #ifdef CC_USING_FENTRY 18 EXPORT_SYMBOL(__fentry__); 19 #else 20 EXPORT_SYMBOL(mcount); 21 #endif 22 #endif 23 24 EXPORT_SYMBOL(__get_user_1); 25 EXPORT_SYMBOL(__get_user_2); 26 EXPORT_SYMBOL(__get_user_4); 27 EXPORT_SYMBOL(__get_user_8); 28 EXPORT_SYMBOL(__put_user_1); 29 EXPORT_SYMBOL(__put_user_2); 30 EXPORT_SYMBOL(__put_user_4); 31 EXPORT_SYMBOL(__put_user_8); 32 33 EXPORT_SYMBOL(copy_user_generic_string); 34 EXPORT_SYMBOL(copy_user_generic_unrolled); 35 EXPORT_SYMBOL(copy_user_enhanced_fast_string); 36 EXPORT_SYMBOL(__copy_user_nocache); 37 EXPORT_SYMBOL(_copy_from_user); 38 EXPORT_SYMBOL(_copy_to_user); 39 40 EXPORT_SYMBOL(copy_page); 41 EXPORT_SYMBOL(clear_page); 42 43 EXPORT_SYMBOL(csum_partial); 44 45 /* 46 * Export string functions. We normally rely on gcc builtin for most of these, 47 * but gcc sometimes decides not to inline them. 48 */ 49 #undef memcpy 50 #undef memset 51 #undef memmove 52 53 extern void *memset(void *, int, __kernel_size_t); 54 extern void *memcpy(void *, const void *, __kernel_size_t); 55 extern void *__memcpy(void *, const void *, __kernel_size_t); 56 57 EXPORT_SYMBOL(memset); 58 EXPORT_SYMBOL(memcpy); 59 EXPORT_SYMBOL(__memcpy); 60 EXPORT_SYMBOL(memmove); 61 62 #ifndef CONFIG_DEBUG_VIRTUAL 63 EXPORT_SYMBOL(phys_base); 64 #endif 65 EXPORT_SYMBOL(empty_zero_page); 66 #ifndef CONFIG_PARAVIRT 67 EXPORT_SYMBOL(native_load_gs_index); 68 #endif 69 70 #ifdef CONFIG_PREEMPT 71 EXPORT_SYMBOL(___preempt_schedule); 72 #ifdef CONFIG_CONTEXT_TRACKING 73 EXPORT_SYMBOL(___preempt_schedule_context); 74 #endif 75 #endif 76