1 /* Exports for assembly files.
2 All C exports should go in the respective C files. */
4 #include <linux/export.h>
5 #include <linux/spinlock_types.h>
8 #include <net/checksum.h>
10 #include <asm/processor.h>
11 #include <asm/pgtable.h>
12 #include <asm/uaccess.h>
14 #include <asm/ftrace.h>
16 #ifdef CONFIG_FUNCTION_TRACER
17 /* mcount and __fentry__ are defined in assembly */
18 #ifdef CC_USING_FENTRY
19 EXPORT_SYMBOL(__fentry__);
21 EXPORT_SYMBOL(mcount);
25 EXPORT_SYMBOL(__get_user_1);
26 EXPORT_SYMBOL(__get_user_2);
27 EXPORT_SYMBOL(__get_user_4);
28 EXPORT_SYMBOL(__get_user_8);
29 EXPORT_SYMBOL(__put_user_1);
30 EXPORT_SYMBOL(__put_user_2);
31 EXPORT_SYMBOL(__put_user_4);
32 EXPORT_SYMBOL(__put_user_8);
34 EXPORT_SYMBOL(copy_user_generic_string);
35 EXPORT_SYMBOL(copy_user_generic_unrolled);
36 EXPORT_SYMBOL(copy_user_enhanced_fast_string);
37 EXPORT_SYMBOL(__copy_user_nocache);
38 EXPORT_SYMBOL(_copy_from_user);
39 EXPORT_SYMBOL(_copy_to_user);
41 EXPORT_SYMBOL_GPL(memcpy_mcsafe_unrolled);
43 EXPORT_SYMBOL(copy_page);
44 EXPORT_SYMBOL(clear_page);
46 EXPORT_SYMBOL(csum_partial);
48 EXPORT_SYMBOL(__sw_hweight32);
49 EXPORT_SYMBOL(__sw_hweight64);
52 * Export string functions. We normally rely on gcc builtin for most of these,
53 * but gcc sometimes decides not to inline them.
59 extern void *__memset(void *, int, __kernel_size_t);
60 extern void *__memcpy(void *, const void *, __kernel_size_t);
61 extern void *__memmove(void *, const void *, __kernel_size_t);
62 extern void *memset(void *, int, __kernel_size_t);
63 extern void *memcpy(void *, const void *, __kernel_size_t);
64 extern void *memmove(void *, const void *, __kernel_size_t);
66 EXPORT_SYMBOL(__memset);
67 EXPORT_SYMBOL(__memcpy);
68 EXPORT_SYMBOL(__memmove);
70 EXPORT_SYMBOL(memset);
71 EXPORT_SYMBOL(memcpy);
72 EXPORT_SYMBOL(memmove);
74 #ifndef CONFIG_DEBUG_VIRTUAL
75 EXPORT_SYMBOL(phys_base);
77 EXPORT_SYMBOL(empty_zero_page);
78 #ifndef CONFIG_PARAVIRT
79 EXPORT_SYMBOL(native_load_gs_index);
83 EXPORT_SYMBOL(___preempt_schedule);
84 EXPORT_SYMBOL(___preempt_schedule_notrace);