summaryrefslogtreecommitdiff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorStephan Linz <linz@li-pro.net>2010-06-25 18:04:59 +0200
committerWolfgang Denk <wd@denx.de>2010-08-08 22:16:05 +0200
commit958e120643e8b6765b3ff84dfcf57624076afd21 (patch)
treeed6dfa4c17cfd83b3ba796a237ad415432b800be /arch/powerpc
parentcd1535564c3d52d2bc063e54e7d11ace7aeb9f52 (diff)
downloadu-boot-imx-958e120643e8b6765b3ff84dfcf57624076afd21.zip
u-boot-imx-958e120643e8b6765b3ff84dfcf57624076afd21.tar.gz
u-boot-imx-958e120643e8b6765b3ff84dfcf57624076afd21.tar.bz2
fdt relocate: have more attention to use a bootmap or not
Platforms with flat device tree support can use a bootmap to relocate the fdt_blob. This is not a must. That's why the relocation function boot_relocate_fdt() should be use only if CONFIG_OF_LIBFDT was defined together with CONFIG_SYS_BOOTMAPSZ (see common/cmd_bootm.c). On MicroBlaze platforms there is no need to use a bootmap to relocate a fdt blob. So we need a more precise focus on the compilation and usage of boot_relocate_fdt(). In general it is valid to exclude the function boot_relocate_fdt() if the bootmap size CONFIG_SYS_BOOTMAPSZ is not defined. Signed-off-by: Stephan Linz <linz@li-pro.net>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/lib/bootm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c
index 3064121..4c3e2fe 100644
--- a/arch/powerpc/lib/bootm.c
+++ b/arch/powerpc/lib/bootm.c
@@ -253,7 +253,7 @@ static int boot_body_linux(bootm_headers_t *images)
if (ret)
return ret;
-#if defined(CONFIG_OF_LIBFDT)
+#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_SYS_BOOTMAPSZ)
ret = boot_relocate_fdt(lmb, bootmap_base, of_flat_tree, &of_size);
if (ret)
return ret;
@@ -292,7 +292,7 @@ static int boot_body_linux(bootm_headers_t *images)
if (*initrd_start && *initrd_end)
fdt_initrd(*of_flat_tree, *initrd_start, *initrd_end, 1);
}
-#endif /* CONFIG_OF_LIBFDT */
+#endif /* CONFIG_OF_LIBFDT && CONFIG_SYS_BOOTMAPSZ */
return 0;
}