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>
11EXPORT_SYMBOL(memset);
12EXPORT_SYMBOL(memcpy);
13EXPORT_SYMBOL(strlen);
14
15#include <asm/pgtable.h>
16EXPORT_SYMBOL_GPL(empty_zero_page);
17
18#include <asm/checksum.h>
19EXPORT_SYMBOL(ip_fast_csum);		/* hand-coded assembly */
20EXPORT_SYMBOL(csum_ipv6_magic);
21
22#include <asm/page.h>
23EXPORT_SYMBOL(clear_page);
24EXPORT_SYMBOL(copy_page);
25
26#ifdef CONFIG_VIRTUAL_MEM_MAP
27#include <linux/bootmem.h>
28EXPORT_SYMBOL(min_low_pfn);	/* defined by bootmem.c, but not exported by generic code */
29EXPORT_SYMBOL(max_low_pfn);	/* defined by bootmem.c, but not exported by generic code */
30#endif
31
32#include <asm/processor.h>
33EXPORT_SYMBOL(ia64_cpu_info);
34#ifdef CONFIG_SMP
35EXPORT_SYMBOL(local_per_cpu_offset);
36#endif
37
38#include <asm/uaccess.h>
39EXPORT_SYMBOL(__copy_user);
40EXPORT_SYMBOL(__do_clear_user);
41EXPORT_SYMBOL(__strlen_user);
42EXPORT_SYMBOL(__strncpy_from_user);
43EXPORT_SYMBOL(__strnlen_user);
44
45/* from arch/ia64/lib */
46extern void __divsi3(void);
47extern void __udivsi3(void);
48extern void __modsi3(void);
49extern void __umodsi3(void);
50extern void __divdi3(void);
51extern void __udivdi3(void);
52extern void __moddi3(void);
53extern void __umoddi3(void);
54
55EXPORT_SYMBOL(__divsi3);
56EXPORT_SYMBOL(__udivsi3);
57EXPORT_SYMBOL(__modsi3);
58EXPORT_SYMBOL(__umodsi3);
59EXPORT_SYMBOL(__divdi3);
60EXPORT_SYMBOL(__udivdi3);
61EXPORT_SYMBOL(__moddi3);
62EXPORT_SYMBOL(__umoddi3);
63
64#if defined(CONFIG_MD_RAID456) || defined(CONFIG_MD_RAID456_MODULE)
65extern void xor_ia64_2(void);
66extern void xor_ia64_3(void);
67extern void xor_ia64_4(void);
68extern void xor_ia64_5(void);
69
70EXPORT_SYMBOL(xor_ia64_2);
71EXPORT_SYMBOL(xor_ia64_3);
72EXPORT_SYMBOL(xor_ia64_4);
73EXPORT_SYMBOL(xor_ia64_5);
74#endif
75
76#include <asm/pal.h>
77EXPORT_SYMBOL(ia64_pal_call_phys_stacked);
78EXPORT_SYMBOL(ia64_pal_call_phys_static);
79EXPORT_SYMBOL(ia64_pal_call_stacked);
80EXPORT_SYMBOL(ia64_pal_call_static);
81EXPORT_SYMBOL(ia64_load_scratch_fpregs);
82EXPORT_SYMBOL(ia64_save_scratch_fpregs);
83
84#include <asm/unwind.h>
85EXPORT_SYMBOL(unw_init_running);
86
87#if defined(CONFIG_IA64_ESI) || defined(CONFIG_IA64_ESI_MODULE)
88extern void esi_call_phys (void);
89EXPORT_SYMBOL_GPL(esi_call_phys);
90#endif
91extern char ia64_ivt[];
92EXPORT_SYMBOL(ia64_ivt);
93
94#include <asm/ftrace.h>
95#ifdef CONFIG_FUNCTION_TRACER
96/* mcount is defined in assembly */
97EXPORT_SYMBOL(_mcount);
98#endif
99