diff options
author | Wolfgang Denk <wd@pollux.denx.de> | 2006-10-24 17:08:31 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@pollux.denx.de> | 2006-10-24 17:08:31 +0200 |
commit | d97370feca2a589dad42154577bb4615a0347852 (patch) | |
tree | 5a3f85d24e07425977b7019017ae1615c0f12ce7 /common/cmd_bootm.c | |
parent | 9fa48022e5883a0826a98979c0156f6ac5a0ef79 (diff) | |
parent | 47a6989c10685d2ab3efcf95228ce50d2a496d3e (diff) | |
download | u-boot-imx-d97370feca2a589dad42154577bb4615a0347852.zip u-boot-imx-d97370feca2a589dad42154577bb4615a0347852.tar.gz u-boot-imx-d97370feca2a589dad42154577bb4615a0347852.tar.bz2 |
Merge with /home/wd/git/u-boot/master
(Conflicts between Jon Loeliger's and Matthew McClintock's tree
were resolved by in favour of Jon's version.)
Diffstat (limited to 'common/cmd_bootm.c')
-rw-r--r-- | common/cmd_bootm.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index d913f5c..e8895c6 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -739,10 +739,10 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, } #ifdef CONFIG_OF_FLAT_TREE - if(argc > 3) { + if(argc > 3) { of_flat_tree = (char *) simple_strtoul(argv[3], NULL, 16); hdr = (image_header_t *)of_flat_tree; - + if (*(ulong *)of_flat_tree == OF_DT_HEADER) { #ifndef CFG_NO_FLASH if (addr2info((ulong)of_flat_tree) != NULL) { @@ -760,7 +760,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, printf ("ERROR: Load address overwrites Flat Device Tree uImage\n"); return; } - + printf(" Verifying Checksum ... "); memmove (&header, (char *)hdr, sizeof(image_header_t)); checksum = ntohl(header.ih_hcrc); @@ -793,8 +793,8 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, printf ("ERROR: uImage data is not a flat device tree\n"); return; } - - memmove((void *)ntohl(hdr->ih_load), + + memmove((void *)ntohl(hdr->ih_load), (void *)(of_flat_tree + sizeof(image_header_t)), ntohl(hdr->ih_size)); of_flat_tree = (char *)ntohl(hdr->ih_load); @@ -900,6 +900,8 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, (*kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end); #else + ft_setup(of_flat_tree, kbd, initrd_start, initrd_end); + /* ft_dump_blob(of_flat_tree); */ #if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500) unlock_ram_in_cache(); |