#include <image.h>
#include <irq_func.h>
#include <lmb.h>
+#include <log.h>
#include <mapmem.h>
+#include <asm/global_data.h>
#include <linux/kernel.h>
#include <linux/sizes.h>
/*
* Image booting support
*/
-static int booti_start(cmd_tbl_t *cmdtp, int flag, int argc,
- char * const argv[], bootm_headers_t *images)
+static int booti_start(struct cmd_tbl *cmdtp, int flag, int argc,
+ char *const argv[], struct bootm_headers *images)
{
int ret;
ulong ld;
debug("* kernel: default image load address = 0x%08lx\n",
image_load_addr);
} else {
- ld = simple_strtoul(argv[0], NULL, 16);
+ ld = hextoul(argv[0], NULL);
debug("* kernel: cmdline image address = 0x%08lx\n", ld);
}
/* Handle BOOTM_STATE_LOADOS */
if (relocated_addr != ld) {
- debug("Moving Image from 0x%lx to 0x%lx\n", ld, relocated_addr);
+ printf("Moving Image from 0x%lx to 0x%lx, end=%lx\n", ld,
+ relocated_addr, relocated_addr + image_size);
memmove((void *)relocated_addr, (void *)ld, image_size);
}
* Handle the BOOTM_STATE_FINDOTHER state ourselves as we do not
* have a header that provide this informaiton.
*/
- if (bootm_find_images(flag, argc, argv))
+ if (bootm_find_images(flag, argc, argv, relocated_addr, image_size))
return 1;
return 0;
}
-int do_booti(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+int do_booti(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
{
int ret;
"\tspecifying the size of a RAW initrd.\n"
"\tCurrently only booting from gz, bz2, lzma and lz4 compression\n"
"\ttypes are supported. In order to boot from any of these compressed\n"
- "\timages, user have to set kernel_comp_addr_r and kernel_comp_size enviornment\n"
+ "\timages, user have to set kernel_comp_addr_r and kernel_comp_size environment\n"
"\tvariables beforehand.\n"
#if defined(CONFIG_OF_LIBFDT)
"\tSince booting a Linux kernel requires a flat device-tree, a\n"