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>
static void fixup_silent_linux (void);
#endif
-static void *get_kernel (cmd_tbl_t *cmdtp, int flag,
- int argc, char *argv[], int verify,
- bootm_headers_t *images,
- ulong *os_data, ulong *os_len);
+static void *get_kernel (cmd_tbl_t *cmdtp, int flag,int argc, char *argv[],
+ bootm_headers_t *images, ulong *os_data, ulong *os_len);
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,
int argc, char *argv[],
- bootm_headers_t *images,/* pointers to os/initrd/fdt */
- int verify); /* getenv("verify")[0] != 'n' */
+ bootm_headers_t *images); /* pointers to os/initrd/fdt */
extern boot_os_fn do_bootm_linux;
static boot_os_fn do_bootm_netbsd;
ulong iflag;
const char *type_name;
uint unc_len = CFG_BOOTM_LEN;
- int verify = getenv_verify();
uint8_t comp, type, os;
void *os_hdr;
ulong load_start, load_end;
memset ((void *)&images, 0, sizeof (images));
+ images.verify = getenv_verify();
/* 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);
if (os_len == 0)
return 1;
#ifdef CONFIG_SILENT_CONSOLE
fixup_silent_linux();
#endif
- do_bootm_linux (cmdtp, flag, argc, argv, &images, verify);
+ do_bootm_linux (cmdtp, flag, argc, argv, &images);
break;
case IH_OS_NETBSD:
- do_bootm_netbsd (cmdtp, flag, argc, argv, &images, verify);
+ do_bootm_netbsd (cmdtp, flag, argc, argv, &images);
break;
#ifdef CONFIG_LYNXKDI
case IH_OS_LYNXOS:
- do_bootm_lynxkdi (cmdtp, flag, argc, argv, &images, verify);
+ do_bootm_lynxkdi (cmdtp, flag, argc, argv, &images);
break;
#endif
case IH_OS_RTEMS:
- do_bootm_rtems (cmdtp, flag, argc, argv, &images, verify);
+ do_bootm_rtems (cmdtp, flag, argc, argv, &images);
break;
#if defined(CONFIG_CMD_ELF)
case IH_OS_VXWORKS:
- do_bootm_vxworks (cmdtp, flag, argc, argv, &images, verify);
+ do_bootm_vxworks (cmdtp, flag, argc, argv, &images);
break;
case IH_OS_QNX:
- do_bootm_qnxelf (cmdtp, flag, argc, argv, &images, verify);
+ do_bootm_qnxelf (cmdtp, flag, argc, argv, &images);
break;
#endif
#ifdef CONFIG_ARTOS
case IH_OS_ARTOS:
- do_bootm_artos (cmdtp, flag, argc, argv, &images, verify);
+ do_bootm_artos (cmdtp, flag, argc, argv, &images);
break;
#endif
}
* pointer to image header if valid image was found, plus kernel start
* address and length, otherwise NULL
*/
-static void *get_kernel (cmd_tbl_t *cmdtp, int flag,
- int argc, char *argv[], int verify,
- bootm_headers_t *images,
- ulong *os_data, ulong *os_len)
+static void *get_kernel (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
+ bootm_headers_t *images, ulong *os_data, ulong *os_len)
{
image_header_t *hdr;
ulong img_addr;
show_boot_progress (3);
image_print_contents (hdr);
- if (verify) {
+ if (images->verify) {
puts (" Verifying Checksum ... ");
if (!image_check_dcrc (hdr)) {
printf ("Bad Data CRC\n");
static void do_bootm_netbsd (cmd_tbl_t *cmdtp, int flag,
int argc, char *argv[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
void (*loader)(bd_t *, image_header_t *, char *, char *);
image_header_t *os_hdr, *hdr;
#ifdef CONFIG_LYNXKDI
static void do_bootm_lynxkdi (cmd_tbl_t *cmdtp, int flag,
int argc, char *argv[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
image_header_t *hdr = images->legacy_hdr_os;
static void do_bootm_rtems (cmd_tbl_t *cmdtp, int flag,
int argc, char *argv[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
image_header_t *hdr = images->legacy_hdr_os;
void (*entry_point)(bd_t *);
#if defined(CONFIG_CMD_ELF)
static void do_bootm_vxworks (cmd_tbl_t *cmdtp, int flag,
int argc, char *argv[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
char str[80];
image_header_t *hdr = images->legacy_hdr_os;
static void do_bootm_qnxelf(cmd_tbl_t *cmdtp, int flag,
int argc, char *argv[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
char *local_args[2];
char str[16];
#if defined(CONFIG_ARTOS) && defined(CONFIG_PPC)
static void do_bootm_artos (cmd_tbl_t *cmdtp, int flag,
int argc, char *argv[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
ulong top;
char *s, *cmdline;
#endif
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
#include "mkimage.h"
#endif /* USE_HOSTCC*/
* pointer to a ramdisk image header, if image was found and valid
* 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[],
ulong rd_addr, uint8_t arch, int verify)
{
* @flag: command flag
* @argc: command argument count
* @argv: command argument list
- * @images: pointer to the bootm images strcture
- * @verify: checksum verification flag
+ * @images: pointer to the bootm images structure
* @arch: expected ramdisk architecture
* @rd_start: pointer to a ulong variable, will hold ramdisk start address
* @rd_end: pointer to a ulong variable, will hold ramdisk end
* board is reset if ramdisk image is found but corrupted
*/
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_addr, rd_load;
debug ("* ramdisk: legacy format image\n");
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_len = image_get_data_size (rd_hdr);
void *fit_hdr_fdt; /* FDT blob FIT image header */
char *fit_uname_fdt; /* FDT blob node unit name */
#endif
+ int verify; /* getenv("verify")[0] != 'n' */
#endif
} bootm_headers_t;
int gen_image_get_format (void *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[],
- bootm_headers_t *images, int verify, uint8_t arch,
+ bootm_headers_t *images, uint8_t arch,
ulong *rd_start, ulong *rd_end);
#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
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[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
ulong initrd_start, initrd_end;
ulong ep = 0;
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);
show_boot_progress (15);
}
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 ep = 0;
}
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);
show_boot_progress (15);
static char *make_command_line(void);
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);
char *cmdline;
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[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
void *base_ptr;
ulong os_data, os_len;
ulong ep;
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);
if (images->legacy_hdr_valid) {
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 sp, sp_limit, alloc_current;
kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))ep;
/* 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);
rd_len = rd_data_end - rd_data_start;
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[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
/* First parameter is mapped to $r5 for kernel boot args */
void (*theKernel) (char *);
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[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
ulong initrd_start, initrd_end;
ulong ep = 0;
}
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);
show_boot_progress (15);
*
*/
void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
}
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[],
- bootm_headers_t *images, int verify)
+ bootm_headers_t *images)
{
ulong ep = 0;
static void set_clocks_in_mhz (bd_t *kbd);
void __attribute__((noinline))
-do_bootm_linux(cmd_tbl_t *cmdtp, int flag,
- int argc, char *argv[],
- bootm_headers_t *images,
- int verify)
+do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
+ bootm_headers_t *images)
{
ulong sp, sp_limit, alloc_current;
kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))ep;
/* 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);
rd_len = rd_data_end - rd_data_start;
#endif
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;
char *bootargs = getenv("bootargs");