diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-14 17:26:58 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-14 17:26:58 -0400 |
| commit | 84d69848c97faab0c25aa2667b273404d2e2a64a (patch) | |
| tree | 594f3fe1b271b5255a1c5281e36f8bf938acd1c0 /arch/ia64 | |
| parent | d4d24d2d0a7ea3b62efd7336bfc2344e29b36bc5 (diff) | |
| parent | 590abbdd273304b55824bcb9ea91840ea375575d (diff) | |
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild updates from Michal Marek:
- EXPORT_SYMBOL for asm source by Al Viro.
This does bring a regression, because genksyms no longer generates
checksums for these symbols (CONFIG_MODVERSIONS). Nick Piggin is
working on a patch to fix this.
Plus, we are talking about functions like strcpy(), which rarely
change prototypes.
- Fixes for PPC fallout of the above by Stephen Rothwell and Nick
Piggin
- fixdep speedup by Alexey Dobriyan.
- preparatory work by Nick Piggin to allow architectures to build with
-ffunction-sections, -fdata-sections and --gc-sections
- CONFIG_THIN_ARCHIVES support by Stephen Rothwell
- fix for filenames with colons in the initramfs source by me.
* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (22 commits)
initramfs: Escape colons in depfile
ppc: there is no clear_pages to export
powerpc/64: whitelist unresolved modversions CRCs
kbuild: -ffunction-sections fix for archs with conflicting sections
kbuild: add arch specific post-link Makefile
kbuild: allow archs to select link dead code/data elimination
kbuild: allow architectures to use thin archives instead of ld -r
kbuild: Regenerate genksyms lexer
kbuild: genksyms fix for typeof handling
fixdep: faster CONFIG_ search
ia64: move exports to definitions
sparc32: debride memcpy.S a bit
[sparc] unify 32bit and 64bit string.h
sparc: move exports to definitions
ppc: move exports to definitions
arm: move exports to definitions
s390: move exports to definitions
m68k: move exports to definitions
alpha: move exports to actual definitions
x86: move exports to actual definitions
...
Diffstat (limited to 'arch/ia64')
27 files changed, 68 insertions, 98 deletions
diff --git a/arch/ia64/hp/sim/boot/Makefile b/arch/ia64/hp/sim/boot/Makefile index 2e805e0cc560..df6e9968c845 100644 --- a/arch/ia64/hp/sim/boot/Makefile +++ b/arch/ia64/hp/sim/boot/Makefile | |||
| @@ -33,5 +33,5 @@ $(obj)/vmlinux.bin: vmlinux FORCE | |||
| 33 | LDFLAGS_bootloader = -static -T | 33 | LDFLAGS_bootloader = -static -T |
| 34 | 34 | ||
| 35 | $(obj)/bootloader: $(src)/bootloader.lds $(obj)/bootloader.o $(obj)/boot_head.o $(obj)/fw-emu.o \ | 35 | $(obj)/bootloader: $(src)/bootloader.lds $(obj)/bootloader.o $(obj)/boot_head.o $(obj)/fw-emu.o \ |
| 36 | lib/lib.a arch/ia64/lib/built-in.o arch/ia64/lib/lib.a FORCE | 36 | lib/lib.a arch/ia64/lib/lib.a FORCE |
| 37 | $(call if_changed,ld) | 37 | $(call if_changed,ld) |
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/Makefile b/arch/ia64/lib/Makefile index 98771e2a78af..1f3d3877618f 100644 --- a/arch/ia64/lib/Makefile +++ b/arch/ia64/lib/Makefile | |||
| @@ -2,17 +2,15 @@ | |||
| 2 | # Makefile for ia64-specific library routines.. | 2 | # Makefile for ia64-specific library routines.. |
| 3 | # | 3 | # |
| 4 | 4 | ||
| 5 | obj-y := io.o | 5 | lib-y := io.o __divsi3.o __udivsi3.o __modsi3.o __umodsi3.o \ |
| 6 | |||
| 7 | lib-y := __divsi3.o __udivsi3.o __modsi3.o __umodsi3.o \ | ||
| 8 | __divdi3.o __udivdi3.o __moddi3.o __umoddi3.o \ | 6 | __divdi3.o __udivdi3.o __moddi3.o __umoddi3.o \ |
| 9 | checksum.o clear_page.o csum_partial_copy.o \ | 7 | checksum.o clear_page.o csum_partial_copy.o \ |
| 10 | clear_user.o strncpy_from_user.o strlen_user.o strnlen_user.o \ | 8 | clear_user.o strncpy_from_user.o strlen_user.o strnlen_user.o \ |
| 11 | flush.o ip_fast_csum.o do_csum.o \ | 9 | flush.o ip_fast_csum.o do_csum.o \ |
| 12 | memset.o strlen.o xor.o | 10 | memset.o strlen.o xor.o |
| 13 | 11 | ||
| 14 | obj-$(CONFIG_ITANIUM) += copy_page.o copy_user.o memcpy.o | 12 | lib-$(CONFIG_ITANIUM) += copy_page.o copy_user.o memcpy.o |
| 15 | obj-$(CONFIG_MCKINLEY) += copy_page_mck.o memcpy_mck.o | 13 | lib-$(CONFIG_MCKINLEY) += copy_page_mck.o memcpy_mck.o |
| 16 | lib-$(CONFIG_PERFMON) += carta_random.o | 14 | lib-$(CONFIG_PERFMON) += carta_random.o |
| 17 | 15 | ||
| 18 | AFLAGS___divdi3.o = | 16 | AFLAGS___divdi3.o = |
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) | ||
