diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-17 01:13:41 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-08-07 23:55:50 -0400 |
commit | e007c53397acb5554e226693e3bff54a312ccd96 (patch) | |
tree | 9a0c2fa6fe5518593b6d3d1511e2b2c31360ce98 | |
parent | fb2e6fdbbdaeb94745712a7b18b628c4349de08f (diff) |
ia64: move exports to definitions
Here we have another kind of deviation from the default case -
a difference between exporting functions and non-functions.
EXPORT_DATA_SYMBOL... is really different from EXPORT_SYMBOL...
on ia64, and we need to use the right one when moving exports
from *.c where C compiler has the required information to
*.S, where we need to supply it manually.
parisc64 will be another one like that.
Tested-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | arch/ia64/include/asm/export.h | 3 | ||||
-rw-r--r-- | arch/ia64/kernel/entry.S | 3 | ||||
-rw-r--r-- | arch/ia64/kernel/esi_stub.S | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/head.S | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/ia64_ksyms.c | 94 | ||||
-rw-r--r-- | arch/ia64/kernel/ivt.S | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/pal.S | 7 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 4 | ||||
-rw-r--r-- | arch/ia64/lib/clear_page.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/clear_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/copy_page.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/copy_page_mck.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/copy_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/flush.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/idiv32.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/idiv64.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/ip_fast_csum.S | 3 | ||||
-rw-r--r-- | arch/ia64/lib/memcpy.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/memcpy_mck.S | 3 | ||||
-rw-r--r-- | arch/ia64/lib/memset.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/strlen.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/strlen_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/strncpy_from_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/strnlen_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/xor.S | 5 |
25 files changed, 64 insertions, 92 deletions
diff --git a/arch/ia64/include/asm/export.h b/arch/ia64/include/asm/export.h new file mode 100644 index 000000000000..ad18c6583252 --- /dev/null +++ b/arch/ia64/include/asm/export.h | |||
@@ -0,0 +1,3 @@ | |||
1 | /* EXPORT_DATA_SYMBOL != EXPORT_SYMBOL here */ | ||
2 | #define KSYM_FUNC(name) @fptr(name) | ||
3 | #include <asm-generic/export.h> | ||
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index cfaa7b25084c..6f27a663177c 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -48,6 +48,7 @@ | |||
48 | #include <asm/thread_info.h> | 48 | #include <asm/thread_info.h> |
49 | #include <asm/unistd.h> | 49 | #include <asm/unistd.h> |
50 | #include <asm/ftrace.h> | 50 | #include <asm/ftrace.h> |
51 | #include <asm/export.h> | ||
51 | 52 | ||
52 | #include "minstate.h" | 53 | #include "minstate.h" |
53 | 54 | ||
@@ -1345,12 +1346,14 @@ GLOBAL_ENTRY(unw_init_running) | |||
1345 | mov rp=loc0 | 1346 | mov rp=loc0 |
1346 | br.ret.sptk.many rp | 1347 | br.ret.sptk.many rp |
1347 | END(unw_init_running) | 1348 | END(unw_init_running) |
1349 | EXPORT_SYMBOL(unw_init_running) | ||
1348 | 1350 | ||
1349 | #ifdef CONFIG_FUNCTION_TRACER | 1351 | #ifdef CONFIG_FUNCTION_TRACER |
1350 | #ifdef CONFIG_DYNAMIC_FTRACE | 1352 | #ifdef CONFIG_DYNAMIC_FTRACE |
1351 | GLOBAL_ENTRY(_mcount) | 1353 | GLOBAL_ENTRY(_mcount) |
1352 | br ftrace_stub | 1354 | br ftrace_stub |
1353 | END(_mcount) | 1355 | END(_mcount) |
1356 | EXPORT_SYMBOL(_mcount) | ||
1354 | 1357 | ||
1355 | .here: | 1358 | .here: |
1356 | br.ret.sptk.many b0 | 1359 | br.ret.sptk.many b0 |
diff --git a/arch/ia64/kernel/esi_stub.S b/arch/ia64/kernel/esi_stub.S index 6b3d6c1f99b6..2c369bf77c4b 100644 --- a/arch/ia64/kernel/esi_stub.S +++ b/arch/ia64/kernel/esi_stub.S | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include <asm/processor.h> | 36 | #include <asm/processor.h> |
37 | #include <asm/asmmacro.h> | 37 | #include <asm/asmmacro.h> |
38 | #include <asm/export.h> | ||
38 | 39 | ||
39 | /* | 40 | /* |
40 | * Inputs: | 41 | * Inputs: |
@@ -94,3 +95,4 @@ GLOBAL_ENTRY(esi_call_phys) | |||
94 | mov gp=loc2 | 95 | mov gp=loc2 |
95 | br.ret.sptk.many rp | 96 | br.ret.sptk.many rp |
96 | END(esi_call_phys) | 97 | END(esi_call_phys) |
98 | EXPORT_SYMBOL_GPL(esi_call_phys) | ||
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index bb748c596443..c9b5e942f671 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <asm/mca_asm.h> | 32 | #include <asm/mca_asm.h> |
33 | #include <linux/init.h> | 33 | #include <linux/init.h> |
34 | #include <linux/linkage.h> | 34 | #include <linux/linkage.h> |
35 | #include <asm/export.h> | ||
35 | 36 | ||
36 | #ifdef CONFIG_HOTPLUG_CPU | 37 | #ifdef CONFIG_HOTPLUG_CPU |
37 | #define SAL_PSR_BITS_TO_SET \ | 38 | #define SAL_PSR_BITS_TO_SET \ |
@@ -168,6 +169,7 @@ RestRR: \ | |||
168 | __PAGE_ALIGNED_DATA | 169 | __PAGE_ALIGNED_DATA |
169 | 170 | ||
170 | .global empty_zero_page | 171 | .global empty_zero_page |
172 | EXPORT_DATA_SYMBOL_GPL(empty_zero_page) | ||
171 | empty_zero_page: | 173 | empty_zero_page: |
172 | .skip PAGE_SIZE | 174 | .skip PAGE_SIZE |
173 | 175 | ||
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c index 096731049538..d111248af719 100644 --- a/arch/ia64/kernel/ia64_ksyms.c +++ b/arch/ia64/kernel/ia64_ksyms.c | |||
@@ -1,101 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * Architecture-specific kernel symbols | 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 | */ | 3 | */ |
7 | 4 | ||
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/page.h> | ||
23 | EXPORT_SYMBOL(clear_page); | ||
24 | EXPORT_SYMBOL(copy_page); | ||
25 | |||
26 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 5 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
6 | #include <linux/compiler.h> | ||
7 | #include <linux/export.h> | ||
27 | #include <linux/bootmem.h> | 8 | #include <linux/bootmem.h> |
28 | EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */ | 9 | EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */ |
29 | EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */ | 10 | EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */ |
30 | #endif | 11 | #endif |
31 | |||
32 | #include <asm/processor.h> | ||
33 | EXPORT_SYMBOL(ia64_cpu_info); | ||
34 | #ifdef CONFIG_SMP | ||
35 | EXPORT_SYMBOL(local_per_cpu_offset); | ||
36 | #endif | ||
37 | |||
38 | #include <asm/uaccess.h> | ||
39 | EXPORT_SYMBOL(__copy_user); | ||
40 | EXPORT_SYMBOL(__do_clear_user); | ||
41 | EXPORT_SYMBOL(__strlen_user); | ||
42 | EXPORT_SYMBOL(__strncpy_from_user); | ||
43 | EXPORT_SYMBOL(__strnlen_user); | ||
44 | |||
45 | /* from arch/ia64/lib */ | ||
46 | extern void __divsi3(void); | ||
47 | extern void __udivsi3(void); | ||
48 | extern void __modsi3(void); | ||
49 | extern void __umodsi3(void); | ||
50 | extern void __divdi3(void); | ||
51 | extern void __udivdi3(void); | ||
52 | extern void __moddi3(void); | ||
53 | extern void __umoddi3(void); | ||
54 | |||
55 | EXPORT_SYMBOL(__divsi3); | ||
56 | EXPORT_SYMBOL(__udivsi3); | ||
57 | EXPORT_SYMBOL(__modsi3); | ||
58 | EXPORT_SYMBOL(__umodsi3); | ||
59 | EXPORT_SYMBOL(__divdi3); | ||
60 | EXPORT_SYMBOL(__udivdi3); | ||
61 | EXPORT_SYMBOL(__moddi3); | ||
62 | EXPORT_SYMBOL(__umoddi3); | ||
63 | |||
64 | #if defined(CONFIG_MD_RAID456) || defined(CONFIG_MD_RAID456_MODULE) | ||
65 | extern void xor_ia64_2(void); | ||
66 | extern void xor_ia64_3(void); | ||
67 | extern void xor_ia64_4(void); | ||
68 | extern void xor_ia64_5(void); | ||
69 | |||
70 | EXPORT_SYMBOL(xor_ia64_2); | ||
71 | EXPORT_SYMBOL(xor_ia64_3); | ||
72 | EXPORT_SYMBOL(xor_ia64_4); | ||
73 | EXPORT_SYMBOL(xor_ia64_5); | ||
74 | #endif | ||
75 | |||
76 | #include <asm/pal.h> | ||
77 | EXPORT_SYMBOL(ia64_pal_call_phys_stacked); | ||
78 | EXPORT_SYMBOL(ia64_pal_call_phys_static); | ||
79 | EXPORT_SYMBOL(ia64_pal_call_stacked); | ||
80 | EXPORT_SYMBOL(ia64_pal_call_static); | ||
81 | EXPORT_SYMBOL(ia64_load_scratch_fpregs); | ||
82 | EXPORT_SYMBOL(ia64_save_scratch_fpregs); | ||
83 | |||
84 | #include <asm/unwind.h> | ||
85 | EXPORT_SYMBOL(unw_init_running); | ||
86 | |||
87 | #if defined(CONFIG_IA64_ESI) || defined(CONFIG_IA64_ESI_MODULE) | ||
88 | extern void esi_call_phys (void); | ||
89 | EXPORT_SYMBOL_GPL(esi_call_phys); | ||
90 | #endif | ||
91 | extern char ia64_ivt[]; | ||
92 | EXPORT_SYMBOL(ia64_ivt); | ||
93 | |||
94 | #include <asm/ftrace.h> | ||
95 | #ifdef CONFIG_FUNCTION_TRACER | ||
96 | /* mcount is defined in assembly */ | ||
97 | EXPORT_SYMBOL(_mcount); | ||
98 | #endif | ||
99 | |||
100 | #include <asm/cacheflush.h> | ||
101 | EXPORT_SYMBOL_GPL(flush_icache_range); | ||
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S index b1c3cfc93e71..44a103a5de2b 100644 --- a/arch/ia64/kernel/ivt.S +++ b/arch/ia64/kernel/ivt.S | |||
@@ -57,6 +57,7 @@ | |||
57 | #include <asm/thread_info.h> | 57 | #include <asm/thread_info.h> |
58 | #include <asm/unistd.h> | 58 | #include <asm/unistd.h> |
59 | #include <asm/errno.h> | 59 | #include <asm/errno.h> |
60 | #include <asm/export.h> | ||
60 | 61 | ||
61 | #if 0 | 62 | #if 0 |
62 | # define PSR_DEFAULT_BITS psr.ac | 63 | # define PSR_DEFAULT_BITS psr.ac |
@@ -85,6 +86,7 @@ | |||
85 | 86 | ||
86 | .align 32768 // align on 32KB boundary | 87 | .align 32768 // align on 32KB boundary |
87 | .global ia64_ivt | 88 | .global ia64_ivt |
89 | EXPORT_DATA_SYMBOL(ia64_ivt) | ||
88 | ia64_ivt: | 90 | ia64_ivt: |
89 | ///////////////////////////////////////////////////////////////////////////////////////// | 91 | ///////////////////////////////////////////////////////////////////////////////////////// |
90 | // 0x0000 Entry 0 (size 64 bundles) VHPT Translation (8,20,47) | 92 | // 0x0000 Entry 0 (size 64 bundles) VHPT Translation (8,20,47) |
diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S index 0b533441c3c9..94fb2e395498 100644 --- a/arch/ia64/kernel/pal.S +++ b/arch/ia64/kernel/pal.S | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | #include <asm/asmmacro.h> | 15 | #include <asm/asmmacro.h> |
16 | #include <asm/processor.h> | 16 | #include <asm/processor.h> |
17 | #include <asm/export.h> | ||
17 | 18 | ||
18 | .data | 19 | .data |
19 | pal_entry_point: | 20 | pal_entry_point: |
@@ -87,6 +88,7 @@ GLOBAL_ENTRY(ia64_pal_call_static) | |||
87 | srlz.d // seralize restoration of psr.l | 88 | srlz.d // seralize restoration of psr.l |
88 | br.ret.sptk.many b0 | 89 | br.ret.sptk.many b0 |
89 | END(ia64_pal_call_static) | 90 | END(ia64_pal_call_static) |
91 | EXPORT_SYMBOL(ia64_pal_call_static) | ||
90 | 92 | ||
91 | /* | 93 | /* |
92 | * Make a PAL call using the stacked registers calling convention. | 94 | * Make a PAL call using the stacked registers calling convention. |
@@ -122,6 +124,7 @@ GLOBAL_ENTRY(ia64_pal_call_stacked) | |||
122 | srlz.d // serialize restoration of psr.l | 124 | srlz.d // serialize restoration of psr.l |
123 | br.ret.sptk.many b0 | 125 | br.ret.sptk.many b0 |
124 | END(ia64_pal_call_stacked) | 126 | END(ia64_pal_call_stacked) |
127 | EXPORT_SYMBOL(ia64_pal_call_stacked) | ||
125 | 128 | ||
126 | /* | 129 | /* |
127 | * Make a physical mode PAL call using the static registers calling convention. | 130 | * Make a physical mode PAL call using the static registers calling convention. |
@@ -193,6 +196,7 @@ GLOBAL_ENTRY(ia64_pal_call_phys_static) | |||
193 | srlz.d // seralize restoration of psr.l | 196 | srlz.d // seralize restoration of psr.l |
194 | br.ret.sptk.many b0 | 197 | br.ret.sptk.many b0 |
195 | END(ia64_pal_call_phys_static) | 198 | END(ia64_pal_call_phys_static) |
199 | EXPORT_SYMBOL(ia64_pal_call_phys_static) | ||
196 | 200 | ||
197 | /* | 201 | /* |
198 | * Make a PAL call using the stacked registers in physical mode. | 202 | * Make a PAL call using the stacked registers in physical mode. |
@@ -250,6 +254,7 @@ GLOBAL_ENTRY(ia64_pal_call_phys_stacked) | |||
250 | srlz.d // seralize restoration of psr.l | 254 | srlz.d // seralize restoration of psr.l |
251 | br.ret.sptk.many b0 | 255 | br.ret.sptk.many b0 |
252 | END(ia64_pal_call_phys_stacked) | 256 | END(ia64_pal_call_phys_stacked) |
257 | EXPORT_SYMBOL(ia64_pal_call_phys_stacked) | ||
253 | 258 | ||
254 | /* | 259 | /* |
255 | * Save scratch fp scratch regs which aren't saved in pt_regs already | 260 | * Save scratch fp scratch regs which aren't saved in pt_regs already |
@@ -275,6 +280,7 @@ GLOBAL_ENTRY(ia64_save_scratch_fpregs) | |||
275 | stf.spill [r2] = f15,32 | 280 | stf.spill [r2] = f15,32 |
276 | br.ret.sptk.many rp | 281 | br.ret.sptk.many rp |
277 | END(ia64_save_scratch_fpregs) | 282 | END(ia64_save_scratch_fpregs) |
283 | EXPORT_SYMBOL(ia64_save_scratch_fpregs) | ||
278 | 284 | ||
279 | /* | 285 | /* |
280 | * Load scratch fp scratch regs (fp10-fp15) | 286 | * Load scratch fp scratch regs (fp10-fp15) |
@@ -296,3 +302,4 @@ GLOBAL_ENTRY(ia64_load_scratch_fpregs) | |||
296 | ldf.fill f15 = [r2],32 | 302 | ldf.fill f15 = [r2],32 |
297 | br.ret.sptk.many rp | 303 | br.ret.sptk.many rp |
298 | END(ia64_load_scratch_fpregs) | 304 | END(ia64_load_scratch_fpregs) |
305 | EXPORT_SYMBOL(ia64_load_scratch_fpregs) | ||
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index afddb3e80a29..7ec7acc844c2 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -71,7 +71,11 @@ EXPORT_SYMBOL(__per_cpu_offset); | |||
71 | #endif | 71 | #endif |
72 | 72 | ||
73 | DEFINE_PER_CPU(struct cpuinfo_ia64, ia64_cpu_info); | 73 | DEFINE_PER_CPU(struct cpuinfo_ia64, ia64_cpu_info); |
74 | EXPORT_SYMBOL(ia64_cpu_info); | ||
74 | DEFINE_PER_CPU(unsigned long, local_per_cpu_offset); | 75 | DEFINE_PER_CPU(unsigned long, local_per_cpu_offset); |
76 | #ifdef CONFIG_SMP | ||
77 | EXPORT_SYMBOL(local_per_cpu_offset); | ||
78 | #endif | ||
75 | unsigned long ia64_cycles_per_usec; | 79 | unsigned long ia64_cycles_per_usec; |
76 | struct ia64_boot_param *ia64_boot_param; | 80 | struct ia64_boot_param *ia64_boot_param; |
77 | struct screen_info screen_info; | 81 | struct screen_info screen_info; |
diff --git a/arch/ia64/lib/clear_page.S b/arch/ia64/lib/clear_page.S index 2d814e7ed191..3cf5b76e587f 100644 --- a/arch/ia64/lib/clear_page.S +++ b/arch/ia64/lib/clear_page.S | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | #include <asm/asmmacro.h> | 12 | #include <asm/asmmacro.h> |
13 | #include <asm/page.h> | 13 | #include <asm/page.h> |
14 | #include <asm/export.h> | ||
14 | 15 | ||
15 | #ifdef CONFIG_ITANIUM | 16 | #ifdef CONFIG_ITANIUM |
16 | # define L3_LINE_SIZE 64 // Itanium L3 line size | 17 | # define L3_LINE_SIZE 64 // Itanium L3 line size |
@@ -74,3 +75,4 @@ GLOBAL_ENTRY(clear_page) | |||
74 | mov ar.lc = saved_lc // restore lc | 75 | mov ar.lc = saved_lc // restore lc |
75 | br.ret.sptk.many rp | 76 | br.ret.sptk.many rp |
76 | END(clear_page) | 77 | END(clear_page) |
78 | EXPORT_SYMBOL(clear_page) | ||
diff --git a/arch/ia64/lib/clear_user.S b/arch/ia64/lib/clear_user.S index eecd8577b209..7b40731ee5d8 100644 --- a/arch/ia64/lib/clear_user.S +++ b/arch/ia64/lib/clear_user.S | |||
@@ -12,6 +12,7 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <asm/asmmacro.h> | 14 | #include <asm/asmmacro.h> |
15 | #include <asm/export.h> | ||
15 | 16 | ||
16 | // | 17 | // |
17 | // arguments | 18 | // arguments |
@@ -207,3 +208,4 @@ GLOBAL_ENTRY(__do_clear_user) | |||
207 | mov ar.lc=saved_lc | 208 | mov ar.lc=saved_lc |
208 | br.ret.sptk.many rp | 209 | br.ret.sptk.many rp |
209 | END(__do_clear_user) | 210 | END(__do_clear_user) |
211 | EXPORT_SYMBOL(__do_clear_user) | ||
diff --git a/arch/ia64/lib/copy_page.S b/arch/ia64/lib/copy_page.S index 127d1d050d78..cbdb9e323ffb 100644 --- a/arch/ia64/lib/copy_page.S +++ b/arch/ia64/lib/copy_page.S | |||
@@ -16,6 +16,7 @@ | |||
16 | */ | 16 | */ |
17 | #include <asm/asmmacro.h> | 17 | #include <asm/asmmacro.h> |
18 | #include <asm/page.h> | 18 | #include <asm/page.h> |
19 | #include <asm/export.h> | ||
19 | 20 | ||
20 | #define PIPE_DEPTH 3 | 21 | #define PIPE_DEPTH 3 |
21 | #define EPI p[PIPE_DEPTH-1] | 22 | #define EPI p[PIPE_DEPTH-1] |
@@ -96,3 +97,4 @@ GLOBAL_ENTRY(copy_page) | |||
96 | mov ar.lc=saved_lc | 97 | mov ar.lc=saved_lc |
97 | br.ret.sptk.many rp | 98 | br.ret.sptk.many rp |
98 | END(copy_page) | 99 | END(copy_page) |
100 | EXPORT_SYMBOL(copy_page) | ||
diff --git a/arch/ia64/lib/copy_page_mck.S b/arch/ia64/lib/copy_page_mck.S index 3c45d60a81b4..c13f69036876 100644 --- a/arch/ia64/lib/copy_page_mck.S +++ b/arch/ia64/lib/copy_page_mck.S | |||
@@ -61,6 +61,7 @@ | |||
61 | */ | 61 | */ |
62 | #include <asm/asmmacro.h> | 62 | #include <asm/asmmacro.h> |
63 | #include <asm/page.h> | 63 | #include <asm/page.h> |
64 | #include <asm/export.h> | ||
64 | 65 | ||
65 | #define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st) | 66 | #define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st) |
66 | 67 | ||
@@ -183,3 +184,4 @@ GLOBAL_ENTRY(copy_page) | |||
183 | mov pr = saved_pr, -1 | 184 | mov pr = saved_pr, -1 |
184 | br.ret.sptk.many rp | 185 | br.ret.sptk.many rp |
185 | END(copy_page) | 186 | END(copy_page) |
187 | EXPORT_SYMBOL(copy_page) | ||
diff --git a/arch/ia64/lib/copy_user.S b/arch/ia64/lib/copy_user.S index c952bdc6a093..66facd52e8d0 100644 --- a/arch/ia64/lib/copy_user.S +++ b/arch/ia64/lib/copy_user.S | |||
@@ -30,6 +30,7 @@ | |||
30 | */ | 30 | */ |
31 | 31 | ||
32 | #include <asm/asmmacro.h> | 32 | #include <asm/asmmacro.h> |
33 | #include <asm/export.h> | ||
33 | 34 | ||
34 | // | 35 | // |
35 | // Tuneable parameters | 36 | // Tuneable parameters |
@@ -608,3 +609,4 @@ GLOBAL_ENTRY(__copy_user) | |||
608 | mov ar.pfs=saved_pfs | 609 | mov ar.pfs=saved_pfs |
609 | br.ret.sptk.many rp | 610 | br.ret.sptk.many rp |
610 | END(__copy_user) | 611 | END(__copy_user) |
612 | EXPORT_SYMBOL(__copy_user) | ||
diff --git a/arch/ia64/lib/flush.S b/arch/ia64/lib/flush.S index 1d8c88860063..9a5a2f9fad13 100644 --- a/arch/ia64/lib/flush.S +++ b/arch/ia64/lib/flush.S | |||
@@ -8,6 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <asm/asmmacro.h> | 10 | #include <asm/asmmacro.h> |
11 | #include <asm/export.h> | ||
11 | 12 | ||
12 | 13 | ||
13 | /* | 14 | /* |
@@ -60,6 +61,7 @@ GLOBAL_ENTRY(flush_icache_range) | |||
60 | mov ar.lc=r3 // restore ar.lc | 61 | mov ar.lc=r3 // restore ar.lc |
61 | br.ret.sptk.many rp | 62 | br.ret.sptk.many rp |
62 | END(flush_icache_range) | 63 | END(flush_icache_range) |
64 | EXPORT_SYMBOL_GPL(flush_icache_range) | ||
63 | 65 | ||
64 | /* | 66 | /* |
65 | * clflush_cache_range(start,size) | 67 | * clflush_cache_range(start,size) |
diff --git a/arch/ia64/lib/idiv32.S b/arch/ia64/lib/idiv32.S index c91b5b0129ff..715aed79a9ce 100644 --- a/arch/ia64/lib/idiv32.S +++ b/arch/ia64/lib/idiv32.S | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <asm/asmmacro.h> | 17 | #include <asm/asmmacro.h> |
18 | #include <asm/export.h> | ||
18 | 19 | ||
19 | #ifdef MODULO | 20 | #ifdef MODULO |
20 | # define OP mod | 21 | # define OP mod |
@@ -81,3 +82,4 @@ GLOBAL_ENTRY(NAME) | |||
81 | getf.sig r8 = f6 // transfer result to result register | 82 | getf.sig r8 = f6 // transfer result to result register |
82 | br.ret.sptk.many rp | 83 | br.ret.sptk.many rp |
83 | END(NAME) | 84 | END(NAME) |
85 | EXPORT_SYMBOL(NAME) | ||
diff --git a/arch/ia64/lib/idiv64.S b/arch/ia64/lib/idiv64.S index 627573c4ceb1..25840f697753 100644 --- a/arch/ia64/lib/idiv64.S +++ b/arch/ia64/lib/idiv64.S | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <asm/asmmacro.h> | 17 | #include <asm/asmmacro.h> |
18 | #include <asm/export.h> | ||
18 | 19 | ||
19 | #ifdef MODULO | 20 | #ifdef MODULO |
20 | # define OP mod | 21 | # define OP mod |
@@ -78,3 +79,4 @@ GLOBAL_ENTRY(NAME) | |||
78 | getf.sig r8 = f11 // transfer result to result register | 79 | getf.sig r8 = f11 // transfer result to result register |
79 | br.ret.sptk.many rp | 80 | br.ret.sptk.many rp |
80 | END(NAME) | 81 | END(NAME) |
82 | EXPORT_SYMBOL(NAME) | ||
diff --git a/arch/ia64/lib/ip_fast_csum.S b/arch/ia64/lib/ip_fast_csum.S index 620d9dc5220f..648e0d4a4839 100644 --- a/arch/ia64/lib/ip_fast_csum.S +++ b/arch/ia64/lib/ip_fast_csum.S | |||
@@ -13,6 +13,7 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <asm/asmmacro.h> | 15 | #include <asm/asmmacro.h> |
16 | #include <asm/export.h> | ||
16 | 17 | ||
17 | /* | 18 | /* |
18 | * Since we know that most likely this function is called with buf aligned | 19 | * Since we know that most likely this function is called with buf aligned |
@@ -92,6 +93,7 @@ GLOBAL_ENTRY(ip_fast_csum) | |||
92 | mov b0=r34 | 93 | mov b0=r34 |
93 | br.ret.sptk.many b0 | 94 | br.ret.sptk.many b0 |
94 | END(ip_fast_csum) | 95 | END(ip_fast_csum) |
96 | EXPORT_SYMBOL(ip_fast_csum) | ||
95 | 97 | ||
96 | GLOBAL_ENTRY(csum_ipv6_magic) | 98 | GLOBAL_ENTRY(csum_ipv6_magic) |
97 | ld4 r20=[in0],4 | 99 | ld4 r20=[in0],4 |
@@ -142,3 +144,4 @@ GLOBAL_ENTRY(csum_ipv6_magic) | |||
142 | andcm r8=r9,r8 | 144 | andcm r8=r9,r8 |
143 | br.ret.sptk.many b0 | 145 | br.ret.sptk.many b0 |
144 | END(csum_ipv6_magic) | 146 | END(csum_ipv6_magic) |
147 | EXPORT_SYMBOL(csum_ipv6_magic) | ||
diff --git a/arch/ia64/lib/memcpy.S b/arch/ia64/lib/memcpy.S index 448908d80b69..ba172fd6acf4 100644 --- a/arch/ia64/lib/memcpy.S +++ b/arch/ia64/lib/memcpy.S | |||
@@ -14,6 +14,7 @@ | |||
14 | * David Mosberger-Tang <davidm@hpl.hp.com> | 14 | * David Mosberger-Tang <davidm@hpl.hp.com> |
15 | */ | 15 | */ |
16 | #include <asm/asmmacro.h> | 16 | #include <asm/asmmacro.h> |
17 | #include <asm/export.h> | ||
17 | 18 | ||
18 | GLOBAL_ENTRY(memcpy) | 19 | GLOBAL_ENTRY(memcpy) |
19 | 20 | ||
@@ -299,3 +300,4 @@ GLOBAL_ENTRY(memcpy) | |||
299 | COPY(56, 0) | 300 | COPY(56, 0) |
300 | 301 | ||
301 | END(memcpy) | 302 | END(memcpy) |
303 | EXPORT_SYMBOL(memcpy) | ||
diff --git a/arch/ia64/lib/memcpy_mck.S b/arch/ia64/lib/memcpy_mck.S index ab0f87639729..b264b6a7967b 100644 --- a/arch/ia64/lib/memcpy_mck.S +++ b/arch/ia64/lib/memcpy_mck.S | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | #include <asm/asmmacro.h> | 16 | #include <asm/asmmacro.h> |
17 | #include <asm/page.h> | 17 | #include <asm/page.h> |
18 | #include <asm/export.h> | ||
18 | 19 | ||
19 | #define EK(y...) EX(y) | 20 | #define EK(y...) EX(y) |
20 | 21 | ||
@@ -78,6 +79,7 @@ GLOBAL_ENTRY(memcpy) | |||
78 | br.cond.sptk .common_code | 79 | br.cond.sptk .common_code |
79 | ;; | 80 | ;; |
80 | END(memcpy) | 81 | END(memcpy) |
82 | EXPORT_SYMBOL(memcpy) | ||
81 | GLOBAL_ENTRY(__copy_user) | 83 | GLOBAL_ENTRY(__copy_user) |
82 | .prologue | 84 | .prologue |
83 | // check dest alignment | 85 | // check dest alignment |
@@ -664,3 +666,4 @@ EK(.ex_handler, (p17) st8 [dst1]=r39,8); \ | |||
664 | 666 | ||
665 | /* end of McKinley specific optimization */ | 667 | /* end of McKinley specific optimization */ |
666 | END(__copy_user) | 668 | END(__copy_user) |
669 | EXPORT_SYMBOL(__copy_user) | ||
diff --git a/arch/ia64/lib/memset.S b/arch/ia64/lib/memset.S index f26c16aefb1c..87b974704075 100644 --- a/arch/ia64/lib/memset.S +++ b/arch/ia64/lib/memset.S | |||
@@ -18,6 +18,7 @@ | |||
18 | to get peak speed when value = 0. */ | 18 | to get peak speed when value = 0. */ |
19 | 19 | ||
20 | #include <asm/asmmacro.h> | 20 | #include <asm/asmmacro.h> |
21 | #include <asm/export.h> | ||
21 | #undef ret | 22 | #undef ret |
22 | 23 | ||
23 | #define dest in0 | 24 | #define dest in0 |
@@ -360,3 +361,4 @@ GLOBAL_ENTRY(memset) | |||
360 | br.ret.sptk.many rp | 361 | br.ret.sptk.many rp |
361 | } | 362 | } |
362 | END(memset) | 363 | END(memset) |
364 | EXPORT_SYMBOL(memset) | ||
diff --git a/arch/ia64/lib/strlen.S b/arch/ia64/lib/strlen.S index e0cdac0a85b8..1a6e17c657b4 100644 --- a/arch/ia64/lib/strlen.S +++ b/arch/ia64/lib/strlen.S | |||
@@ -17,6 +17,7 @@ | |||
17 | */ | 17 | */ |
18 | 18 | ||
19 | #include <asm/asmmacro.h> | 19 | #include <asm/asmmacro.h> |
20 | #include <asm/export.h> | ||
20 | 21 | ||
21 | // | 22 | // |
22 | // | 23 | // |
@@ -190,3 +191,4 @@ GLOBAL_ENTRY(strlen) | |||
190 | mov ar.pfs=saved_pfs // because of ar.ec, restore no matter what | 191 | mov ar.pfs=saved_pfs // because of ar.ec, restore no matter what |
191 | br.ret.sptk.many rp // end of successful recovery code | 192 | br.ret.sptk.many rp // end of successful recovery code |
192 | END(strlen) | 193 | END(strlen) |
194 | EXPORT_SYMBOL(strlen) | ||
diff --git a/arch/ia64/lib/strlen_user.S b/arch/ia64/lib/strlen_user.S index c71eded4285e..9d257684e733 100644 --- a/arch/ia64/lib/strlen_user.S +++ b/arch/ia64/lib/strlen_user.S | |||
@@ -16,6 +16,7 @@ | |||
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include <asm/asmmacro.h> | 18 | #include <asm/asmmacro.h> |
19 | #include <asm/export.h> | ||
19 | 20 | ||
20 | // | 21 | // |
21 | // int strlen_user(char *) | 22 | // int strlen_user(char *) |
@@ -196,3 +197,4 @@ GLOBAL_ENTRY(__strlen_user) | |||
196 | mov ar.pfs=saved_pfs // because of ar.ec, restore no matter what | 197 | mov ar.pfs=saved_pfs // because of ar.ec, restore no matter what |
197 | br.ret.sptk.many rp | 198 | br.ret.sptk.many rp |
198 | END(__strlen_user) | 199 | END(__strlen_user) |
200 | EXPORT_SYMBOL(__strlen_user) | ||
diff --git a/arch/ia64/lib/strncpy_from_user.S b/arch/ia64/lib/strncpy_from_user.S index a504381f31eb..ca9ccf280e2e 100644 --- a/arch/ia64/lib/strncpy_from_user.S +++ b/arch/ia64/lib/strncpy_from_user.S | |||
@@ -17,6 +17,7 @@ | |||
17 | */ | 17 | */ |
18 | 18 | ||
19 | #include <asm/asmmacro.h> | 19 | #include <asm/asmmacro.h> |
20 | #include <asm/export.h> | ||
20 | 21 | ||
21 | GLOBAL_ENTRY(__strncpy_from_user) | 22 | GLOBAL_ENTRY(__strncpy_from_user) |
22 | alloc r2=ar.pfs,3,0,0,0 | 23 | alloc r2=ar.pfs,3,0,0,0 |
@@ -42,3 +43,4 @@ GLOBAL_ENTRY(__strncpy_from_user) | |||
42 | [.Lexit:] | 43 | [.Lexit:] |
43 | br.ret.sptk.many rp | 44 | br.ret.sptk.many rp |
44 | END(__strncpy_from_user) | 45 | END(__strncpy_from_user) |
46 | EXPORT_SYMBOL(__strncpy_from_user) | ||
diff --git a/arch/ia64/lib/strnlen_user.S b/arch/ia64/lib/strnlen_user.S index d09066b1e49d..80a5dfd1d402 100644 --- a/arch/ia64/lib/strnlen_user.S +++ b/arch/ia64/lib/strnlen_user.S | |||
@@ -13,6 +13,7 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <asm/asmmacro.h> | 15 | #include <asm/asmmacro.h> |
16 | #include <asm/export.h> | ||
16 | 17 | ||
17 | GLOBAL_ENTRY(__strnlen_user) | 18 | GLOBAL_ENTRY(__strnlen_user) |
18 | .prologue | 19 | .prologue |
@@ -43,3 +44,4 @@ GLOBAL_ENTRY(__strnlen_user) | |||
43 | mov ar.lc=r16 // restore ar.lc | 44 | mov ar.lc=r16 // restore ar.lc |
44 | br.ret.sptk.many rp | 45 | br.ret.sptk.many rp |
45 | END(__strnlen_user) | 46 | END(__strnlen_user) |
47 | EXPORT_SYMBOL(__strnlen_user) | ||
diff --git a/arch/ia64/lib/xor.S b/arch/ia64/lib/xor.S index 54e3f7eab8e9..c83f1c410691 100644 --- a/arch/ia64/lib/xor.S +++ b/arch/ia64/lib/xor.S | |||
@@ -14,6 +14,7 @@ | |||
14 | */ | 14 | */ |
15 | 15 | ||
16 | #include <asm/asmmacro.h> | 16 | #include <asm/asmmacro.h> |
17 | #include <asm/export.h> | ||
17 | 18 | ||
18 | GLOBAL_ENTRY(xor_ia64_2) | 19 | GLOBAL_ENTRY(xor_ia64_2) |
19 | .prologue | 20 | .prologue |
@@ -51,6 +52,7 @@ GLOBAL_ENTRY(xor_ia64_2) | |||
51 | mov pr = r29, -1 | 52 | mov pr = r29, -1 |
52 | br.ret.sptk.few rp | 53 | br.ret.sptk.few rp |
53 | END(xor_ia64_2) | 54 | END(xor_ia64_2) |
55 | EXPORT_SYMBOL(xor_ia64_2) | ||
54 | 56 | ||
55 | GLOBAL_ENTRY(xor_ia64_3) | 57 | GLOBAL_ENTRY(xor_ia64_3) |
56 | .prologue | 58 | .prologue |
@@ -91,6 +93,7 @@ GLOBAL_ENTRY(xor_ia64_3) | |||
91 | mov pr = r29, -1 | 93 | mov pr = r29, -1 |
92 | br.ret.sptk.few rp | 94 | br.ret.sptk.few rp |
93 | END(xor_ia64_3) | 95 | END(xor_ia64_3) |
96 | EXPORT_SYMBOL(xor_ia64_3) | ||
94 | 97 | ||
95 | GLOBAL_ENTRY(xor_ia64_4) | 98 | GLOBAL_ENTRY(xor_ia64_4) |
96 | .prologue | 99 | .prologue |
@@ -134,6 +137,7 @@ GLOBAL_ENTRY(xor_ia64_4) | |||
134 | mov pr = r29, -1 | 137 | mov pr = r29, -1 |
135 | br.ret.sptk.few rp | 138 | br.ret.sptk.few rp |
136 | END(xor_ia64_4) | 139 | END(xor_ia64_4) |
140 | EXPORT_SYMBOL(xor_ia64_4) | ||
137 | 141 | ||
138 | GLOBAL_ENTRY(xor_ia64_5) | 142 | GLOBAL_ENTRY(xor_ia64_5) |
139 | .prologue | 143 | .prologue |
@@ -182,3 +186,4 @@ GLOBAL_ENTRY(xor_ia64_5) | |||
182 | mov pr = r29, -1 | 186 | mov pr = r29, -1 |
183 | br.ret.sptk.few rp | 187 | br.ret.sptk.few rp |
184 | END(xor_ia64_5) | 188 | END(xor_ia64_5) |
189 | EXPORT_SYMBOL(xor_ia64_5) | ||