Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial
[linux-2.6] / arch / powerpc / boot / virtex405-head.S
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