mirror of https://gitee.com/openkylin/linux.git
32 lines
712 B
ArmAsm
32 lines
712 B
ArmAsm
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#include "ppc_asm.h"
|
|
|
|
.text
|
|
.global _zimage_start
|
|
_zimage_start:
|
|
|
|
/* PPC errata 213: needed by Virtex-4 FX */
|
|
mfccr0 0
|
|
oris 0,0,0x50000000@h
|
|
mtccr0 0
|
|
|
|
/*
|
|
* Invalidate the data cache if the data cache is turned off.
|
|
* - The 405 core does not invalidate the data cache on power-up
|
|
* or reset but does turn off the data cache. We cannot assume
|
|
* that the cache contents are valid.
|
|
* - If the data cache is turned on this must have been done by
|
|
* a bootloader and we assume that the cache contents are
|
|
* valid.
|
|
*/
|
|
mfdccr r9
|
|
cmplwi r9,0
|
|
bne 2f
|
|
lis r9,0
|
|
li r8,256
|
|
mtctr r8
|
|
1: dccci r0,r9
|
|
addi r9,r9,0x20
|
|
bdnz 1b
|
|
2: b _zimage_start_lib
|