From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ozlabs.org (ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 485DD1A04E5 for ; Thu, 17 Sep 2015 15:13:28 +1000 (AEST) In-Reply-To: To: LEROY Christophe , Benjamin Herrenschmidt , Paul Mackerras , scottwood@freescale.com, sojkam1@fel.cvut.cz From: Michael Ellerman Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [v4,2/2] powerpc32: memset: only use dcbz once cache is enabled Message-Id: <20150917051328.00D411401DA@ozlabs.org> Date: Thu, 17 Sep 2015 15:13:27 +1000 (AEST) List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Wed, 2015-16-09 at 10:04:53 UTC, LEROY Christophe wrote: > 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 > > Signed-off-by: Christophe Leroy Applied to powerpc fixes, thanks. https://git.kernel.org/powerpc/c/400c47d81ca383fc87d5a393 cheers