[new uImage] Move image verify flag to bootm_headers structure
Do not pass image verification flag directly to related routines. Simplify argument passing and move it to the bootm_header structure which contains curently processed image specific data and is already being passed on the argument list. Signed-off-by: Marian Balakowicz <m8@semihalf.com> Acked-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
823afe7cef
commit
8a5ea3e616
|
@ -65,10 +65,8 @@ static int do_imls (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
static void fixup_silent_linux (void);
|
static void fixup_silent_linux (void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void *get_kernel (cmd_tbl_t *cmdtp, int flag,
|
static void *get_kernel (cmd_tbl_t *cmdtp, int flag,int argc, char *argv[],
|
||||||
int argc, char *argv[], int verify,
|
bootm_headers_t *images, ulong *os_data, ulong *os_len);
|
||||||
bootm_headers_t *images,
|
|
||||||
ulong *os_data, ulong *os_len);
|
|
||||||
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -81,8 +79,7 @@ extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
*/
|
*/
|
||||||
typedef void boot_os_fn (cmd_tbl_t *cmdtp, int flag,
|
typedef void boot_os_fn (cmd_tbl_t *cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
bootm_headers_t *images,/* pointers to os/initrd/fdt */
|
bootm_headers_t *images); /* pointers to os/initrd/fdt */
|
||||||
int verify); /* getenv("verify")[0] != 'n' */
|
|
||||||
|
|
||||||
extern boot_os_fn do_bootm_linux;
|
extern boot_os_fn do_bootm_linux;
|
||||||
static boot_os_fn do_bootm_netbsd;
|
static boot_os_fn do_bootm_netbsd;
|
||||||
|
@ -114,7 +111,6 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
ulong iflag;
|
ulong iflag;
|
||||||
const char *type_name;
|
const char *type_name;
|
||||||
uint unc_len = CFG_BOOTM_LEN;
|
uint unc_len = CFG_BOOTM_LEN;
|
||||||
int verify = getenv_verify();
|
|
||||||
uint8_t comp, type, os;
|
uint8_t comp, type, os;
|
||||||
|
|
||||||
void *os_hdr;
|
void *os_hdr;
|
||||||
|
@ -123,9 +119,10 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
ulong load_start, load_end;
|
ulong load_start, load_end;
|
||||||
|
|
||||||
memset ((void *)&images, 0, sizeof (images));
|
memset ((void *)&images, 0, sizeof (images));
|
||||||
|
images.verify = getenv_verify();
|
||||||
|
|
||||||
/* get kernel image header, start address and length */
|
/* get kernel image header, start address and length */
|
||||||
os_hdr = get_kernel (cmdtp, flag, argc, argv, verify,
|
os_hdr = get_kernel (cmdtp, flag, argc, argv,
|
||||||
&images, &os_data, &os_len);
|
&images, &os_data, &os_len);
|
||||||
if (os_len == 0)
|
if (os_len == 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -246,36 +243,36 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
#ifdef CONFIG_SILENT_CONSOLE
|
#ifdef CONFIG_SILENT_CONSOLE
|
||||||
fixup_silent_linux();
|
fixup_silent_linux();
|
||||||
#endif
|
#endif
|
||||||
do_bootm_linux (cmdtp, flag, argc, argv, &images, verify);
|
do_bootm_linux (cmdtp, flag, argc, argv, &images);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IH_OS_NETBSD:
|
case IH_OS_NETBSD:
|
||||||
do_bootm_netbsd (cmdtp, flag, argc, argv, &images, verify);
|
do_bootm_netbsd (cmdtp, flag, argc, argv, &images);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef CONFIG_LYNXKDI
|
#ifdef CONFIG_LYNXKDI
|
||||||
case IH_OS_LYNXOS:
|
case IH_OS_LYNXOS:
|
||||||
do_bootm_lynxkdi (cmdtp, flag, argc, argv, &images, verify);
|
do_bootm_lynxkdi (cmdtp, flag, argc, argv, &images);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case IH_OS_RTEMS:
|
case IH_OS_RTEMS:
|
||||||
do_bootm_rtems (cmdtp, flag, argc, argv, &images, verify);
|
do_bootm_rtems (cmdtp, flag, argc, argv, &images);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if defined(CONFIG_CMD_ELF)
|
#if defined(CONFIG_CMD_ELF)
|
||||||
case IH_OS_VXWORKS:
|
case IH_OS_VXWORKS:
|
||||||
do_bootm_vxworks (cmdtp, flag, argc, argv, &images, verify);
|
do_bootm_vxworks (cmdtp, flag, argc, argv, &images);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IH_OS_QNX:
|
case IH_OS_QNX:
|
||||||
do_bootm_qnxelf (cmdtp, flag, argc, argv, &images, verify);
|
do_bootm_qnxelf (cmdtp, flag, argc, argv, &images);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ARTOS
|
#ifdef CONFIG_ARTOS
|
||||||
case IH_OS_ARTOS:
|
case IH_OS_ARTOS:
|
||||||
do_bootm_artos (cmdtp, flag, argc, argv, &images, verify);
|
do_bootm_artos (cmdtp, flag, argc, argv, &images);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -300,10 +297,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
* pointer to image header if valid image was found, plus kernel start
|
* pointer to image header if valid image was found, plus kernel start
|
||||||
* address and length, otherwise NULL
|
* address and length, otherwise NULL
|
||||||
*/
|
*/
|
||||||
static void *get_kernel (cmd_tbl_t *cmdtp, int flag,
|
static void *get_kernel (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
int argc, char *argv[], int verify,
|
bootm_headers_t *images, ulong *os_data, ulong *os_len)
|
||||||
bootm_headers_t *images,
|
|
||||||
ulong *os_data, ulong *os_len)
|
|
||||||
{
|
{
|
||||||
image_header_t *hdr;
|
image_header_t *hdr;
|
||||||
ulong img_addr;
|
ulong img_addr;
|
||||||
|
@ -362,7 +357,7 @@ static void *get_kernel (cmd_tbl_t *cmdtp, int flag,
|
||||||
show_boot_progress (3);
|
show_boot_progress (3);
|
||||||
image_print_contents (hdr);
|
image_print_contents (hdr);
|
||||||
|
|
||||||
if (verify) {
|
if (images->verify) {
|
||||||
puts (" Verifying Checksum ... ");
|
puts (" Verifying Checksum ... ");
|
||||||
if (!image_check_dcrc (hdr)) {
|
if (!image_check_dcrc (hdr)) {
|
||||||
printf ("Bad Data CRC\n");
|
printf ("Bad Data CRC\n");
|
||||||
|
@ -648,7 +643,7 @@ static void fixup_silent_linux ()
|
||||||
|
|
||||||
static void do_bootm_netbsd (cmd_tbl_t *cmdtp, int flag,
|
static void do_bootm_netbsd (cmd_tbl_t *cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
void (*loader)(bd_t *, image_header_t *, char *, char *);
|
void (*loader)(bd_t *, image_header_t *, char *, char *);
|
||||||
image_header_t *os_hdr, *hdr;
|
image_header_t *os_hdr, *hdr;
|
||||||
|
@ -731,7 +726,7 @@ static void do_bootm_netbsd (cmd_tbl_t *cmdtp, int flag,
|
||||||
#ifdef CONFIG_LYNXKDI
|
#ifdef CONFIG_LYNXKDI
|
||||||
static void do_bootm_lynxkdi (cmd_tbl_t *cmdtp, int flag,
|
static void do_bootm_lynxkdi (cmd_tbl_t *cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
image_header_t *hdr = images->legacy_hdr_os;
|
image_header_t *hdr = images->legacy_hdr_os;
|
||||||
|
|
||||||
|
@ -748,7 +743,7 @@ static void do_bootm_lynxkdi (cmd_tbl_t *cmdtp, int flag,
|
||||||
|
|
||||||
static void do_bootm_rtems (cmd_tbl_t *cmdtp, int flag,
|
static void do_bootm_rtems (cmd_tbl_t *cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
image_header_t *hdr = images->legacy_hdr_os;
|
image_header_t *hdr = images->legacy_hdr_os;
|
||||||
void (*entry_point)(bd_t *);
|
void (*entry_point)(bd_t *);
|
||||||
|
@ -777,7 +772,7 @@ static void do_bootm_rtems (cmd_tbl_t *cmdtp, int flag,
|
||||||
#if defined(CONFIG_CMD_ELF)
|
#if defined(CONFIG_CMD_ELF)
|
||||||
static void do_bootm_vxworks (cmd_tbl_t *cmdtp, int flag,
|
static void do_bootm_vxworks (cmd_tbl_t *cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
char str[80];
|
char str[80];
|
||||||
image_header_t *hdr = images->legacy_hdr_os;
|
image_header_t *hdr = images->legacy_hdr_os;
|
||||||
|
@ -796,7 +791,7 @@ static void do_bootm_vxworks (cmd_tbl_t *cmdtp, int flag,
|
||||||
|
|
||||||
static void do_bootm_qnxelf(cmd_tbl_t *cmdtp, int flag,
|
static void do_bootm_qnxelf(cmd_tbl_t *cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
char *local_args[2];
|
char *local_args[2];
|
||||||
char str[16];
|
char str[16];
|
||||||
|
@ -819,7 +814,7 @@ static void do_bootm_qnxelf(cmd_tbl_t *cmdtp, int flag,
|
||||||
#if defined(CONFIG_ARTOS) && defined(CONFIG_PPC)
|
#if defined(CONFIG_ARTOS) && defined(CONFIG_PPC)
|
||||||
static void do_bootm_artos (cmd_tbl_t *cmdtp, int flag,
|
static void do_bootm_artos (cmd_tbl_t *cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
ulong top;
|
ulong top;
|
||||||
char *s, *cmdline;
|
char *s, *cmdline;
|
||||||
|
|
|
@ -58,6 +58,10 @@ extern int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
static image_header_t* image_get_ramdisk (cmd_tbl_t *cmdtp, int flag,
|
||||||
|
int argc, char *argv[],
|
||||||
|
ulong rd_addr, uint8_t arch, int verify);
|
||||||
#else
|
#else
|
||||||
#include "mkimage.h"
|
#include "mkimage.h"
|
||||||
#endif /* USE_HOSTCC*/
|
#endif /* USE_HOSTCC*/
|
||||||
|
@ -485,7 +489,7 @@ ulong gen_get_image (ulong img_addr)
|
||||||
* pointer to a ramdisk image header, if image was found and valid
|
* pointer to a ramdisk image header, if image was found and valid
|
||||||
* otherwise, board is reset
|
* otherwise, board is reset
|
||||||
*/
|
*/
|
||||||
image_header_t* image_get_ramdisk (cmd_tbl_t *cmdtp, int flag,
|
static image_header_t* image_get_ramdisk (cmd_tbl_t *cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
ulong rd_addr, uint8_t arch, int verify)
|
ulong rd_addr, uint8_t arch, int verify)
|
||||||
{
|
{
|
||||||
|
@ -539,8 +543,7 @@ image_header_t* image_get_ramdisk (cmd_tbl_t *cmdtp, int flag,
|
||||||
* @flag: command flag
|
* @flag: command flag
|
||||||
* @argc: command argument count
|
* @argc: command argument count
|
||||||
* @argv: command argument list
|
* @argv: command argument list
|
||||||
* @images: pointer to the bootm images strcture
|
* @images: pointer to the bootm images structure
|
||||||
* @verify: checksum verification flag
|
|
||||||
* @arch: expected ramdisk architecture
|
* @arch: expected ramdisk architecture
|
||||||
* @rd_start: pointer to a ulong variable, will hold ramdisk start address
|
* @rd_start: pointer to a ulong variable, will hold ramdisk start address
|
||||||
* @rd_end: pointer to a ulong variable, will hold ramdisk end
|
* @rd_end: pointer to a ulong variable, will hold ramdisk end
|
||||||
|
@ -557,7 +560,7 @@ image_header_t* image_get_ramdisk (cmd_tbl_t *cmdtp, int flag,
|
||||||
* board is reset if ramdisk image is found but corrupted
|
* board is reset if ramdisk image is found but corrupted
|
||||||
*/
|
*/
|
||||||
void get_ramdisk (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
void get_ramdisk (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify, uint8_t arch,
|
bootm_headers_t *images, uint8_t arch,
|
||||||
ulong *rd_start, ulong *rd_end)
|
ulong *rd_start, ulong *rd_end)
|
||||||
{
|
{
|
||||||
ulong rd_addr, rd_load;
|
ulong rd_addr, rd_load;
|
||||||
|
@ -621,7 +624,7 @@ void get_ramdisk (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
debug ("* ramdisk: legacy format image\n");
|
debug ("* ramdisk: legacy format image\n");
|
||||||
|
|
||||||
rd_hdr = image_get_ramdisk (cmdtp, flag, argc, argv,
|
rd_hdr = image_get_ramdisk (cmdtp, flag, argc, argv,
|
||||||
rd_addr, arch, verify);
|
rd_addr, arch, images->verify);
|
||||||
|
|
||||||
rd_data = image_get_data (rd_hdr);
|
rd_data = image_get_data (rd_hdr);
|
||||||
rd_len = image_get_data_size (rd_hdr);
|
rd_len = image_get_data_size (rd_hdr);
|
||||||
|
|
|
@ -202,6 +202,7 @@ typedef struct bootm_headers {
|
||||||
void *fit_hdr_fdt; /* FDT blob FIT image header */
|
void *fit_hdr_fdt; /* FDT blob FIT image header */
|
||||||
char *fit_uname_fdt; /* FDT blob node unit name */
|
char *fit_uname_fdt; /* FDT blob node unit name */
|
||||||
#endif
|
#endif
|
||||||
|
int verify; /* getenv("verify")[0] != 'n' */
|
||||||
#endif
|
#endif
|
||||||
} bootm_headers_t;
|
} bootm_headers_t;
|
||||||
|
|
||||||
|
@ -380,12 +381,8 @@ void image_print_contents (image_header_t *hdr);
|
||||||
int gen_image_get_format (void *img_addr);
|
int gen_image_get_format (void *img_addr);
|
||||||
ulong gen_get_image (ulong img_addr);
|
ulong gen_get_image (ulong img_addr);
|
||||||
|
|
||||||
image_header_t* image_get_ramdisk (cmd_tbl_t *cmdtp, int flag,
|
|
||||||
int argc, char *argv[],
|
|
||||||
ulong rd_addr, uint8_t arch, int verify);
|
|
||||||
|
|
||||||
void get_ramdisk (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
void get_ramdisk (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify, uint8_t arch,
|
bootm_headers_t *images, uint8_t arch,
|
||||||
ulong *rd_start, ulong *rd_end);
|
ulong *rd_start, ulong *rd_end);
|
||||||
|
|
||||||
#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
|
#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
|
||||||
|
|
|
@ -62,7 +62,7 @@ static struct tag *params;
|
||||||
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
|
|
||||||
void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
ulong initrd_start, initrd_end;
|
ulong initrd_start, initrd_end;
|
||||||
ulong ep = 0;
|
ulong ep = 0;
|
||||||
|
@ -95,7 +95,7 @@ void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
printf ("Using machid 0x%x from environment\n", machid);
|
printf ("Using machid 0x%x from environment\n", machid);
|
||||||
}
|
}
|
||||||
|
|
||||||
get_ramdisk (cmdtp, flag, argc, argv, images, verify,
|
get_ramdisk (cmdtp, flag, argc, argv, images,
|
||||||
IH_ARCH_ARM, &initrd_start, &initrd_end);
|
IH_ARCH_ARM, &initrd_start, &initrd_end);
|
||||||
|
|
||||||
show_boot_progress (15);
|
show_boot_progress (15);
|
||||||
|
|
|
@ -174,7 +174,7 @@ static void setup_end_tag(struct tag *params)
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
ulong initrd_start, initrd_end;
|
ulong initrd_start, initrd_end;
|
||||||
ulong ep = 0;
|
ulong ep = 0;
|
||||||
|
@ -196,7 +196,7 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
}
|
}
|
||||||
theKernel = (void *)ep;
|
theKernel = (void *)ep;
|
||||||
|
|
||||||
get_ramdisk (cmdtp, flag, argc, argv, images, verify,
|
get_ramdisk (cmdtp, flag, argc, argv, images,
|
||||||
IH_ARCH_AVR32, &initrd_start, &initrd_end);
|
IH_ARCH_AVR32, &initrd_start, &initrd_end);
|
||||||
|
|
||||||
show_boot_progress (15);
|
show_boot_progress (15);
|
||||||
|
|
|
@ -47,7 +47,7 @@ extern void flush_data_cache(void);
|
||||||
static char *make_command_line(void);
|
static char *make_command_line(void);
|
||||||
|
|
||||||
void do_bootm_linux(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
int (*appl) (char *cmdline);
|
int (*appl) (char *cmdline);
|
||||||
char *cmdline;
|
char *cmdline;
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
|
|
||||||
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
void *base_ptr;
|
void *base_ptr;
|
||||||
ulong os_data, os_len;
|
ulong os_data, os_len;
|
||||||
|
@ -40,7 +40,7 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
ulong ep;
|
ulong ep;
|
||||||
image_header_t *hdr;
|
image_header_t *hdr;
|
||||||
|
|
||||||
get_ramdisk (cmdtp, flag, argc, argv, images, verify,
|
get_ramdisk (cmdtp, flag, argc, argv, images,
|
||||||
IH_ARCH_I386, &initrd_start, &initrd_end);
|
IH_ARCH_I386, &initrd_start, &initrd_end);
|
||||||
|
|
||||||
if (images->legacy_hdr_valid) {
|
if (images->legacy_hdr_valid) {
|
||||||
|
|
|
@ -46,7 +46,7 @@ extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
|
|
||||||
void do_bootm_linux(cmd_tbl_t * cmdtp, int flag,
|
void do_bootm_linux(cmd_tbl_t * cmdtp, int flag,
|
||||||
int argc, char *argv[],
|
int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
ulong sp, sp_limit, alloc_current;
|
ulong sp, sp_limit, alloc_current;
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ void do_bootm_linux(cmd_tbl_t * cmdtp, int flag,
|
||||||
kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))ep;
|
kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))ep;
|
||||||
|
|
||||||
/* find ramdisk */
|
/* find ramdisk */
|
||||||
get_ramdisk (cmdtp, flag, argc, argv, images, verify,
|
get_ramdisk (cmdtp, flag, argc, argv, images,
|
||||||
IH_ARCH_M68K, &rd_data_start, &rd_data_end);
|
IH_ARCH_M68K, &rd_data_start, &rd_data_end);
|
||||||
|
|
||||||
rd_len = rd_data_end - rd_data_start;
|
rd_len = rd_data_end - rd_data_start;
|
||||||
|
|
|
@ -35,7 +35,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
|
|
||||||
void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
/* First parameter is mapped to $r5 for kernel boot args */
|
/* First parameter is mapped to $r5 for kernel boot args */
|
||||||
void (*theKernel) (char *);
|
void (*theKernel) (char *);
|
||||||
|
|
|
@ -46,7 +46,7 @@ static void linux_env_set (char * env_name, char * env_val);
|
||||||
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
|
|
||||||
void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
ulong initrd_start, initrd_end;
|
ulong initrd_start, initrd_end;
|
||||||
ulong ep = 0;
|
ulong ep = 0;
|
||||||
|
@ -68,7 +68,7 @@ void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
|
||||||
}
|
}
|
||||||
theKernel = (void (*)(int, char **, char **, int *))ep;
|
theKernel = (void (*)(int, char **, char **, int *))ep;
|
||||||
|
|
||||||
get_ramdisk (cmdtp, flag, argc, argv, images, verify,
|
get_ramdisk (cmdtp, flag, argc, argv, images,
|
||||||
IH_ARCH_MIPS, &initrd_start, &initrd_end);
|
IH_ARCH_MIPS, &initrd_start, &initrd_end);
|
||||||
|
|
||||||
show_boot_progress (15);
|
show_boot_progress (15);
|
||||||
|
|
|
@ -29,6 +29,6 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||||
|
|
||||||
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
ulong ep = 0;
|
ulong ep = 0;
|
||||||
|
|
||||||
|
|
|
@ -59,10 +59,8 @@ static ulong get_sp (void);
|
||||||
static void set_clocks_in_mhz (bd_t *kbd);
|
static void set_clocks_in_mhz (bd_t *kbd);
|
||||||
|
|
||||||
void __attribute__((noinline))
|
void __attribute__((noinline))
|
||||||
do_bootm_linux(cmd_tbl_t *cmdtp, int flag,
|
do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
int argc, char *argv[],
|
bootm_headers_t *images)
|
||||||
bootm_headers_t *images,
|
|
||||||
int verify)
|
|
||||||
{
|
{
|
||||||
ulong sp, sp_limit, alloc_current;
|
ulong sp, sp_limit, alloc_current;
|
||||||
|
|
||||||
|
@ -116,7 +114,7 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag,
|
||||||
kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))ep;
|
kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))ep;
|
||||||
|
|
||||||
/* find ramdisk */
|
/* find ramdisk */
|
||||||
get_ramdisk (cmdtp, flag, argc, argv, images, verify,
|
get_ramdisk (cmdtp, flag, argc, argv, images,
|
||||||
IH_ARCH_PPC, &rd_data_start, &rd_data_end);
|
IH_ARCH_PPC, &rd_data_start, &rd_data_end);
|
||||||
|
|
||||||
rd_len = rd_data_end - rd_data_start;
|
rd_len = rd_data_end - rd_data_start;
|
||||||
|
|
|
@ -60,7 +60,7 @@ static void hexdump (unsigned char *buf, int len)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||||
bootm_headers_t *images, int verify)
|
bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
ulong ep = 0;
|
ulong ep = 0;
|
||||||
char *bootargs = getenv("bootargs");
|
char *bootargs = getenv("bootargs");
|
||||||
|
|
Loading…
Reference in New Issue