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