summaryrefslogtreecommitdiffstats
path: root/common/cmd_bootm.c
diff options
context:
space:
mode:
authorMarian Balakowicz <m8@semihalf.com>2008-03-12 10:35:46 +0100
committerMarian Balakowicz <m8@semihalf.com>2008-03-12 10:35:46 +0100
commitf773bea8e11f4a11c388dcee956b2444203e6b65 (patch)
tree7e6e86cd0e17efafe194696eaa87a38d80cf8ae1 /common/cmd_bootm.c
parent2682ce8a4225f23d72bb7fed069e928dd39d34ae (diff)
downloadu-boot-f773bea8e11f4a11c388dcee956b2444203e6b65.tar.gz
u-boot-f773bea8e11f4a11c388dcee956b2444203e6b65.tar.xz
u-boot-f773bea8e11f4a11c388dcee956b2444203e6b65.zip
[new uImage] Add proper ramdisk/FDT handling when FIT configuration is used
Save FIT configuration provied in the first bootm argument and use it when to get ramdisk/FDT subimages when second and third (ramdisk/FDT) arguments are not specified. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Diffstat (limited to 'common/cmd_bootm.c')
-rw-r--r--common/cmd_bootm.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index e95c5dd034..2f232e7953 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -469,7 +469,7 @@ static void *boot_get_kernel (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]
const char *fit_uname_kernel = NULL;
const void *data;
size_t len;
- int conf_noffset;
+ int cfg_noffset;
int os_noffset;
#endif
@@ -548,13 +548,19 @@ static void *boot_get_kernel (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]
* fit_conf_get_node() will try to find default config node
*/
show_boot_progress (101);
- conf_noffset = fit_conf_get_node (fit_hdr, fit_uname_config);
- if (conf_noffset < 0) {
+ cfg_noffset = fit_conf_get_node (fit_hdr, fit_uname_config);
+ if (cfg_noffset < 0) {
show_boot_progress (-101);
return NULL;
}
+ /* save configuration uname provided in the first
+ * bootm argument
+ */
+ images->fit_uname_cfg = fdt_get_name (fit_hdr, cfg_noffset, NULL);
+ printf (" Using '%s' configuration\n", images->fit_uname_cfg);
+ show_boot_progress (103);
- os_noffset = fit_conf_get_kernel_node (fit_hdr, conf_noffset);
+ os_noffset = fit_conf_get_kernel_node (fit_hdr, cfg_noffset);
fit_uname_kernel = fit_get_name (fit_hdr, os_noffset, NULL);
} else {
/* get kernel component image node offset */