mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 16:15:06 +07:00
d2477b5cc8
This target produces a flat binary rather than an ELF file, fixes the entry point at the beginning of the image, and takes a complete device tree with no fixups needed. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
31 lines
673 B
ArmAsm
31 lines
673 B
ArmAsm
#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
|