summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/boot/virtex405-head.S
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2008-03-18 18:07:43 +0100
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>2008-04-03 03:36:11 +0200
commitd2477b5cc8ca95b8c15133ffbbebf0bd9783f560 (patch)
treebd0dd171e8614634b97fc3e02d22fe0152d308b4 /arch/powerpc/boot/virtex405-head.S
parent[POWERPC] of_serial: Fix possible null dereference. (diff)
downloadlinux-d2477b5cc8ca95b8c15133ffbbebf0bd9783f560.tar.xz
linux-d2477b5cc8ca95b8c15133ffbbebf0bd9783f560.zip
[POWERPC] bootwrapper: Add a firmware-independent simpleboot target.
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>
Diffstat (limited to 'arch/powerpc/boot/virtex405-head.S')
-rw-r--r--arch/powerpc/boot/virtex405-head.S30
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/powerpc/boot/virtex405-head.S b/arch/powerpc/boot/virtex405-head.S
new file mode 100644
index 000000000000..3edb13f94669
--- /dev/null
+++ b/arch/powerpc/boot/virtex405-head.S
@@ -0,0 +1,30 @@
+#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