linux-sg2042/arch/powerpc
Philippe Bergheaud 00f554fade powerpc: memcpy optimization for 64bit LE
Unaligned stores take alignment exceptions on POWER7 running in little-endian.
This is a dumb little-endian base memcpy that prevents unaligned stores.
Once booted the feature fixup code switches over to the VMX copy loops
(which are already endian safe).

The question is what we do before that switch over. The base 64bit
memcpy takes alignment exceptions on POWER7 so we can't use it as is.
Fixing the causes of alignment exception would slow it down, because
we'd need to ensure all loads and stores are aligned either through
rotate tricks or bytewise loads and stores. Either would be bad for
all other 64bit platforms.

[ I simplified the loop a bit - Anton ]

Signed-off-by: Philippe Bergheaud <felix@linux.vnet.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-04-30 15:26:18 +10:00
..
boot powerpc/boot: Add support for 64bit little endian wrapper 2014-04-28 17:36:21 +10:00
configs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-04-12 14:49:50 -07:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include powerpc: memcpy optimization for 64bit LE 2014-04-30 15:26:18 +10:00
kernel powerpc: memcpy optimization for 64bit LE 2014-04-30 15:26:18 +10:00
kvm ppc/kvm: Clear the runlatch bit of a vcpu before napping 2014-04-28 16:32:49 +10:00
lib powerpc: memcpy optimization for 64bit LE 2014-04-30 15:26:18 +10:00
math-emu powerpc: Correct emulated mtfsf instruction 2014-04-07 10:33:11 +10:00
mm powerpc/mm: Fix tlbie to add AVAL fields for 64K pages 2014-04-28 13:11:24 +10:00
net net: filter: add jited flag to indicate jit compiled filters 2014-03-31 00:45:08 -04:00
oprofile cpufreq: remove unused notifier: CPUFREQ_{SUSPENDCHANGE|RESUMECHANGE} 2014-03-19 14:10:24 +01:00
perf powerpc/perf/hv-24x7: Catalog version number is be64, not be32 2014-04-28 16:31:50 +10:00
platforms powerpc: powernv: Implement ppc_md.get_proc_freq() 2014-04-28 17:36:43 +10:00
sysdev powerpc/4xx: Fix section mismatch in ppc4xx_pci.c 2014-04-28 16:32:53 +10:00
xmon powerpc: Fix xmon disassembler for little-endian 2014-03-07 15:50:12 +11:00
Kconfig Merge git://git.infradead.org/users/eparis/audit 2014-04-12 12:38:53 -07:00
Kconfig.debug Merge branch 'kconfig-diet' from Dave Hansen 2013-07-04 11:25:51 -07:00
Makefile powerpc/le: Avoid creatng R_PPC64_TOCSAVE relocations for modules. 2014-04-09 12:53:44 +10:00
relocs_check.pl Fix warning typo "CONFIG_RELCOATABLE" 2013-05-29 15:11:30 +02:00