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