1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #include "ppc_asm.h" 3 4 .text 5 .global _zimage_start 6 _zimage_start: 7 8 /* PPC errata 213: needed by Virtex-4 FX */ 9 mfccr0 0 10 oris 0,0,0x50000000@h 11 mtccr0 0 12 13 /* 14 * Invalidate the data cache if the data cache is turned off. 15 * - The 405 core does not invalidate the data cache on power-up 16 * or reset but does turn off the data cache. We cannot assume 17 * that the cache contents are valid. 18 * - If the data cache is turned on this must have been done by 19 * a bootloader and we assume that the cache contents are 20 * valid. 21 */ 22 mfdccr r9 23 cmplwi r9,0 24 bne 2f 25 lis r9,0 26 li r8,256 27 mtctr r8 28 1: dccci r0,r9 29 addi r9,r9,0x20 30 bdnz 1b 31 2: b _zimage_start_lib