| /* 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 |