microblaze: Clear print messages for DTB passing via r7
authorMichal Simek <monstr@monstr.eu>
Mon, 22 Jun 2009 10:31:55 +0000 (12:31 +0200)
committerMichal Simek <monstr@monstr.eu>
Mon, 27 Jul 2009 05:39:54 +0000 (07:39 +0200)
It is necessary to zeroed r7 when r7 points to bad
dtb - this caused that we have correct messages
about compiled-in dtb or passing via r7

Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/kernel/head.S

index 3c4d4a2803e2fb2b0e6c5b8fc7befba5bcc877e5..e41c6ce2a7be3e50589e48e7f661852afabd7709 100644 (file)
@@ -62,7 +62,10 @@ ENTRY(_start)
        beqi    r7, no_fdt_arg                  /* NULL pointer?  don't copy */
        lw      r11, r0, r7                     /* Does r7 point to a */
        rsubi   r11, r11, OF_DT_HEADER          /* valid FDT? */
+       beqi    r11, _prepare_copy_fdt
+       or      r7, r0, r0              /* clear R7 when not valid DTB */
        bnei    r11, no_fdt_arg                 /* No - get out of here */
+_prepare_copy_fdt:
        or      r11, r0, r0 /* incremment */
        ori     r4, r0, TOPHYS(_fdt_start)
        ori     r3, r0, (0x4000 - 4)