[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6D1CB8E958@AcuExch.aculab.com>
Date: Mon, 7 Sep 2015 15:04:56 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Christophe Leroy' <christophe.leroy@....fr>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
"Michael Ellerman" <mpe@...erman.id.au>,
"scottwood@...escale.com" <scottwood@...escale.com>,
"sojkam1@....cvut.cz" <sojkam1@....cvut.cz>
CC: "linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] powerpc32: memcpy: only use dcbz once cache is enabled
From: Christophe Leroy
> Sent: 07 September 2015 15:25
...
> diff --git a/arch/powerpc/lib/copy_32.S b/arch/powerpc/lib/copy_32.S
> index 2ef50c6..05b3096 100644
> --- a/arch/powerpc/lib/copy_32.S
> +++ b/arch/powerpc/lib/copy_32.S
> @@ -172,7 +172,16 @@ _GLOBAL(memcpy)
> mtctr r0
> beq 63f
> 53:
> - dcbz r11,r6
> + /*
> + * During early init, cache might not be active yet, so dcbz cannot be
> + * used. We put dcbt instead of dcbz. If cache is not active, it's just
> + * like a not. If cache is active, at least it prefetchs the line to be
^^^ nop ??
David
> + * overwritten.
> + * Will be replaced by dcbz in machine_init()
> + */
> +_GLOBAL(ppc32_memcpy_dcbz)
> + dcbt r11,r6
> +
> COPY_16_BYTES
> #if L1_CACHE_BYTES >= 32
> COPY_16_BYTES
> --
> 2.1.0
Powered by blists - more mailing lists