summaryrefslogtreecommitdiff
path: root/arch/microblaze
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2009-06-22 12:31:55 +0200
committerMichal Simek <monstr@monstr.eu>2009-07-27 07:39:54 +0200
commitea3fd1466f81a851452bf7f34ccb9b5058e4793c (patch)
treef691b023dee02e38a828b91f91904b1a0e07cffb /arch/microblaze
parenta69cb8c4662dd0a7b01b32a9165b1a1697068f19 (diff)
downloadlinux-3.10-ea3fd1466f81a851452bf7f34ccb9b5058e4793c.tar.gz
linux-3.10-ea3fd1466f81a851452bf7f34ccb9b5058e4793c.tar.bz2
linux-3.10-ea3fd1466f81a851452bf7f34ccb9b5058e4793c.zip
microblaze: Clear print messages for DTB passing via r7
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>
Diffstat (limited to 'arch/microblaze')
-rw-r--r--arch/microblaze/kernel/head.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/microblaze/kernel/head.S b/arch/microblaze/kernel/head.S
index 3c4d4a2803e..e41c6ce2a7b 100644
--- a/arch/microblaze/kernel/head.S
+++ b/arch/microblaze/kernel/head.S
@@ -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)