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