blob: 00bab7d7c48ce9800dd0b277d9b1e7c29a7c4eb3 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Grant Likelyd2477b52008-03-19 04:07:43 +11002#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
281: dccci r0,r9
29 addi r9,r9,0x20
30 bdnz 1b
312: b _zimage_start_lib