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