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