linux/arch/powerpc/lib
LEROY Christophe 400c47d81c powerpc32: memset: only use dcbz once cache is enabled
memset() uses instruction dcbz to speed up clearing by not wasting time
loading cache line with data that will be overwritten.
Some platform like mpc52xx do no have cache active at startup and
can therefore not use memset(). Allthough no part of the code
explicitly uses memset(), GCC may make calls to it.

This patch modifies memset() such that at startup, memset()
unconditionally skip the optimised bloc that uses dcbz instruction.

Once the initial MMU is set up, in machine_init() we patch memset()
by replacing this inconditional jump by a NOP

Tested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-09-17 10:36:53 +10:00
..
Makefile powerpc: Only use -mabi=altivec if toolchain supports it 2015-06-11 17:33:05 +10:00
alloc.c powerpc: Replace mem_init_done with slab_is_available() 2015-04-10 20:02:48 +10:00
checksum_32.S powerpc: put csum_tcpudp_magic inline 2015-08-07 22:59:19 -05:00
checksum_64.S powerpc: put csum_tcpudp_magic inline 2015-08-07 22:59:19 -05:00
checksum_wrappers_64.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
code-patching.c powerpc: Move the patch_exception to a common place 2013-12-02 14:06:54 +11:00
copy_32.S powerpc32: memset: only use dcbz once cache is enabled 2015-09-17 10:36:53 +10:00
copypage_64.S powerpc: Exported functions __clear_user and copy_page use r2 so need _GLOBAL_TOC() 2014-06-05 13:20:41 +10:00
copypage_power7.S powerpc: Change vrX register defines to vX to match gcc and glibc 2015-03-16 18:32:11 +11:00
copyuser_64.S powerpc: Remove power3 from comments 2014-07-28 14:10:26 +10:00
copyuser_power7.S powerpc: Change vrX register defines to vX to match gcc and glibc 2015-03-16 18:32:11 +11:00
crtsavres.S powerpc: Change vrX register defines to vX to match gcc and glibc 2015-03-16 18:32:11 +11:00
div64.S powerpc: Fix a corner case in __div64_32 2005-10-20 09:37:02 +10:00
feature-fixups-test.S powerpc: Ensure the else case of feature sections will fit 2011-01-21 14:08:33 +11:00
feature-fixups.c powerpc: Make a bunch of things static 2014-09-25 23:14:41 +10:00
hweight_64.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
ldstfp.S powerpc: Change vsrX register defines to vsX to match gcc and glibc 2015-03-16 18:32:11 +11:00
locks.c cpufreq/ppc: Add missing #include <asm/smp.h> 2015-03-25 16:53:28 +11:00
mem_64.S powerpc: use _GLOBAL_TOC for memmove 2014-07-22 15:56:04 +10:00
memcmp_64.S powerpc: Add 64bit optimised memcmp 2015-01-23 14:02:55 +11:00
memcpy_64.S Merge remote-tracking branch 'anton/abiv2' into next 2014-05-05 20:57:12 +10:00
memcpy_power7.S powerpc: Change vrX register defines to vX to match gcc and glibc 2015-03-16 18:32:11 +11:00
ppc_ksyms.c powerpc: Remove duplicate cacheable_memcpy/memzero functions 2015-03-17 11:25:50 +11:00
rheap.c powerpc: Delete unnecessary checks before kfree() 2015-03-16 18:50:14 +11:00
sstep.c powerpc: Fix compilation of emulate_step() 2014-11-12 15:54:29 +11:00
string.S powerpc: Add 64bit optimised memcmp 2015-01-23 14:02:55 +11:00
string_64.S powerpc: Exported functions __clear_user and copy_page use r2 so need _GLOBAL_TOC() 2014-06-05 13:20:41 +10:00
usercopy_64.c powerpc: Rename files to have consistent _32/_64 suffixes 2005-10-10 21:52:43 +10:00
vmx-helper.c sched/preempt, powerpc: Disable preemption in enable_kernel_altivec() explicitly 2015-05-19 08:39:17 +02:00
xor_vmx.c powerpc: Add VMX optimised xor for RAID5 2013-10-30 16:02:28 +11:00