blob: 9796c2f3d0745e8b73b690fff13f7529b5792507 [file] [log] [blame]
Andi Kleen2ee60e172006-06-26 13:59:44 +02001/* Exports for assembly files.
2 All C exports should go in the respective C files. */
3
Linus Torvalds1da177e2005-04-16 15:20:36 -07004#include <linux/module.h>
5#include <linux/smp.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
Ingo Molnar37135672008-05-14 08:10:31 +02007#include <net/checksum.h>
8
Linus Torvalds1da177e2005-04-16 15:20:36 -07009#include <asm/processor.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070010#include <asm/pgtable.h>
Ingo Molnar37135672008-05-14 08:10:31 +020011#include <asm/uaccess.h>
Glauber de Oliveira Costa70fd93c2008-01-30 13:31:10 +010012#include <asm/desc.h>
Abhishek Sagar395a59d2008-06-21 23:47:27 +053013#include <asm/ftrace.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070014
Steven Rostedt606576c2008-10-06 19:06:12 -040015#ifdef CONFIG_FUNCTION_TRACER
Ingo Molnar37135672008-05-14 08:10:31 +020016/* mcount is defined in assembly */
17EXPORT_SYMBOL(mcount);
18#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070019
Linus Torvalds1da177e2005-04-16 15:20:36 -070020EXPORT_SYMBOL(__get_user_1);
21EXPORT_SYMBOL(__get_user_2);
22EXPORT_SYMBOL(__get_user_4);
23EXPORT_SYMBOL(__get_user_8);
24EXPORT_SYMBOL(__put_user_1);
25EXPORT_SYMBOL(__put_user_2);
26EXPORT_SYMBOL(__put_user_4);
27EXPORT_SYMBOL(__put_user_8);
28
Jan Beulich1b1d9252009-12-18 16:12:56 +000029EXPORT_SYMBOL(copy_user_generic_string);
30EXPORT_SYMBOL(copy_user_generic_unrolled);
Andi Kleen0812a572007-02-13 13:26:19 +010031EXPORT_SYMBOL(__copy_user_nocache);
Arjan van de Ven9f0cf4a2009-09-26 14:33:01 +020032EXPORT_SYMBOL(_copy_from_user);
Frederic Weisbecker3c93ca02009-11-16 15:42:18 +010033EXPORT_SYMBOL(_copy_to_user);
Linus Torvalds1da177e2005-04-16 15:20:36 -070034
35EXPORT_SYMBOL(copy_page);
36EXPORT_SYMBOL(clear_page);
37
Ingo Molnar89804c02008-05-13 10:36:22 +020038EXPORT_SYMBOL(csum_partial);
39
Paolo Ciarrocchi8000a832008-02-19 23:34:02 +010040/*
41 * Export string functions. We normally rely on gcc builtin for most of these,
42 * but gcc sometimes decides not to inline them.
43 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070044#undef memcpy
45#undef memset
46#undef memmove
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
Paolo Ciarrocchi8000a832008-02-19 23:34:02 +010048extern void *memset(void *, int, __kernel_size_t);
49extern void *memcpy(void *, const void *, __kernel_size_t);
50extern void *__memcpy(void *, const void *, __kernel_size_t);
Linus Torvalds1da177e2005-04-16 15:20:36 -070051
52EXPORT_SYMBOL(memset);
Linus Torvalds1da177e2005-04-16 15:20:36 -070053EXPORT_SYMBOL(memcpy);
54EXPORT_SYMBOL(__memcpy);
Fenghua Yu9599ec02011-01-17 17:39:15 -080055EXPORT_SYMBOL(memmove);
Linus Torvalds1da177e2005-04-16 15:20:36 -070056
Linus Torvalds1da177e2005-04-16 15:20:36 -070057EXPORT_SYMBOL(empty_zero_page);
Rusty Russelle6428042009-12-15 16:28:13 -060058#ifndef CONFIG_PARAVIRT
59EXPORT_SYMBOL(native_load_gs_index);
60#endif