linux/arch/powerpc/lib
Mark Nelson a4e22f02f5 powerpc: Update 64bit __copy_tofrom_user() using CPU_FTR_UNALIGNED_LD_STD
In exactly the same way that we updated memcpy() with new feature
sections in commit 25d6e2d7c5 ("powerpc:
Update 64bit memcpy() using CPU_FTR_UNALIGNED_LD_STD"), we do the same
thing here for __copy_tofrom_user().  Once again this is purely a
performance tweak for Cell and Power6 - this has no effect on all the
other 64bit powerpc chips.

We can make these same changes to __copy_tofrom_user() because the
basic copy algorithm is the same as in memcpy() - this version just
has all the exception handling logic needed when copying to or from
userspace as well as a special case for copying whole 4K pages that
are page aligned.

CPU_FTR_UNALIGNED_LD_STD CPU was added in commit
4ec577a289 ("powerpc: Add new CPU
feature: CPU_FTR_UNALIGNED_LD_STD").

We also make the same simple one line change from cmpldi r1,... to
cmpldi cr1,... for consistency.

Signed-off-by: Mark Nelson <markn@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-11-19 16:04:54 +11:00
..
Makefile powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
alloc.c [POWERPC] Limit range of __init_ref_ok somewhat 2007-10-03 11:48:44 +10:00
checksum_32.S powerpc: Rename files to have consistent _32/_64 suffixes 2005-10-10 21:52:43 +10:00
checksum_64.S powerpc: Rename files to have consistent _32/_64 suffixes 2005-10-10 21:52:43 +10:00
code-patching.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
copy_32.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
copypage_64.S powerpc: New copy_4K_page() 2008-09-15 11:07:42 -07:00
copyuser_64.S powerpc: Update 64bit __copy_tofrom_user() using CPU_FTR_UNALIGNED_LD_STD 2008-11-19 16:04:54 +11:00
crtsavres.S [POWERPC] Fix -Os kernel builds with newer gcc versions 2008-06-16 15:00:54 +10:00
devres.c [POWERPC] devres: Add devm_ioremap_prot() 2008-05-05 16:47:14 +10:00
div64.S powerpc: Fix a corner case in __div64_32 2005-10-20 09:37:02 +10:00
dma-noncoherent.c powerpc: Remove superfluous WARN_ON() from dma-noncoherent.c 2008-11-19 16:04:52 +11:00
feature-fixups-test.S powerpc: Fixup lwsync at runtime 2008-07-03 16:58:10 +10:00
feature-fixups.c powerpc: Use WARN_ON(1) instead of __WARN() 2008-07-22 10:39:34 +10:00
locks.c [POWERPC] Make ppc64_defconfig without CONFIG_PPC_PSERIES build 2007-03-09 15:03:24 +11:00
mem_64.S [POWERPC] Use mtocrf instruction in asm when CONFIG_POWER4_ONLY=y 2007-04-13 03:55:13 +10:00
memcpy_64.S powerpc: Update 64bit memcpy() using CPU_FTR_UNALIGNED_LD_STD 2008-11-05 22:08:29 +11:00
rheap.c [POWERPC] Make rheap safe for spinlocks 2008-04-17 09:50:38 -05:00
sstep.c [POWERPC] Emulate more instructions in software 2007-04-24 21:31:57 +10:00
string.S powerpc: Use PPC_LONG and PPC_LONG_ALIGN in lib/string.S 2008-07-22 10:39:35 +10:00
usercopy_64.c powerpc: Rename files to have consistent _32/_64 suffixes 2005-10-10 21:52:43 +10:00