Merge to Fedora Core 2 kernel-2.6.8-1.521
[linux-2.6.git] / 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/config.h>
9 #include <linux/module.h>
10
11 #include <linux/string.h>
12 EXPORT_SYMBOL(memset);
13 EXPORT_SYMBOL(memchr);
14 EXPORT_SYMBOL(memcmp);
15 EXPORT_SYMBOL(memcpy);
16 EXPORT_SYMBOL(memmove);
17 EXPORT_SYMBOL(memscan);
18 EXPORT_SYMBOL(strcat);
19 EXPORT_SYMBOL(strchr);
20 EXPORT_SYMBOL(strcmp);
21 EXPORT_SYMBOL(strcpy);
22 EXPORT_SYMBOL(strlen);
23 EXPORT_SYMBOL(strncat);
24 EXPORT_SYMBOL(strncmp);
25 EXPORT_SYMBOL(strncpy);
26 EXPORT_SYMBOL(strnlen);
27 EXPORT_SYMBOL(strrchr);
28 EXPORT_SYMBOL(strstr);
29 EXPORT_SYMBOL(strpbrk);
30
31 #include <asm/checksum.h>
32 EXPORT_SYMBOL(ip_fast_csum);            /* hand-coded assembly */
33
34 #include <asm/semaphore.h>
35 EXPORT_SYMBOL(__down);
36 EXPORT_SYMBOL(__down_interruptible);
37 EXPORT_SYMBOL(__down_trylock);
38 EXPORT_SYMBOL(__up);
39
40 #include <asm/page.h>
41 EXPORT_SYMBOL(clear_page);
42
43 #ifdef CONFIG_VIRTUAL_MEM_MAP
44 #include <linux/bootmem.h>
45 EXPORT_SYMBOL(max_low_pfn);     /* defined by bootmem.c, but not exported by generic code */
46 #endif
47
48 #include <asm/processor.h>
49 EXPORT_SYMBOL(per_cpu__cpu_info);
50 #ifdef CONFIG_SMP
51 EXPORT_SYMBOL(per_cpu__local_per_cpu_offset);
52 #endif
53
54 #include <asm/uaccess.h>
55 EXPORT_SYMBOL(__copy_user);
56 EXPORT_SYMBOL(__do_clear_user);
57 EXPORT_SYMBOL(__strlen_user);
58 EXPORT_SYMBOL(__strncpy_from_user);
59 EXPORT_SYMBOL(__strnlen_user);
60
61 #define __KERNEL_SYSCALLS__
62 #include <asm/unistd.h>
63 EXPORT_SYMBOL(__ia64_syscall);
64 EXPORT_SYMBOL(execve);
65 EXPORT_SYMBOL(clone);
66
67 /* from arch/ia64/lib */
68 extern void __divsi3(void);
69 extern void __udivsi3(void);
70 extern void __modsi3(void);
71 extern void __umodsi3(void);
72 extern void __divdi3(void);
73 extern void __udivdi3(void);
74 extern void __moddi3(void);
75 extern void __umoddi3(void);
76
77 EXPORT_SYMBOL(__divsi3);
78 EXPORT_SYMBOL(__udivsi3);
79 EXPORT_SYMBOL(__modsi3);
80 EXPORT_SYMBOL(__umodsi3);
81 EXPORT_SYMBOL(__divdi3);
82 EXPORT_SYMBOL(__udivdi3);
83 EXPORT_SYMBOL(__moddi3);
84 EXPORT_SYMBOL(__umoddi3);
85
86 #if defined(CONFIG_MD_RAID5) || defined(CONFIG_MD_RAID5_MODULE)
87 extern void xor_ia64_2(void);
88 extern void xor_ia64_3(void);
89 extern void xor_ia64_4(void);
90 extern void xor_ia64_5(void);
91
92 EXPORT_SYMBOL(xor_ia64_2);
93 EXPORT_SYMBOL(xor_ia64_3);
94 EXPORT_SYMBOL(xor_ia64_4);
95 EXPORT_SYMBOL(xor_ia64_5);
96 #endif
97
98 #include <asm/pal.h>
99 EXPORT_SYMBOL(ia64_pal_call_phys_stacked);
100 EXPORT_SYMBOL(ia64_pal_call_phys_static);
101 EXPORT_SYMBOL(ia64_pal_call_stacked);
102 EXPORT_SYMBOL(ia64_pal_call_static);
103 EXPORT_SYMBOL(ia64_load_scratch_fpregs);
104 EXPORT_SYMBOL(ia64_save_scratch_fpregs);
105
106 #include <asm/unwind.h>
107 EXPORT_SYMBOL(unw_init_running);
108
109 #include <linux/efi.h>
110 EXPORT_SYMBOL(efi_mem_type);
111
112 #ifdef ASM_SUPPORTED
113 # ifdef CONFIG_SMP
114 #  if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 3)
115 /*
116  * This is not a normal routine and we don't want a function descriptor for it, so we use
117  * a fake declaration here.
118  */
119 extern char ia64_spinlock_contention_pre3_4;
120 EXPORT_SYMBOL(ia64_spinlock_contention_pre3_4);
121 #  else
122 /*
123  * This is not a normal routine and we don't want a function descriptor for it, so we use
124  * a fake declaration here.
125  */
126 extern char ia64_spinlock_contention;
127 EXPORT_SYMBOL(ia64_spinlock_contention);
128 #  endif
129 # endif
130 #endif