summaryrefslogtreecommitdiff
path: root/rbutil/mkimxboot/mkimxboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/mkimxboot/mkimxboot.c')
-rw-r--r--rbutil/mkimxboot/mkimxboot.c28
1 files changed, 3 insertions, 25 deletions
diff --git a/rbutil/mkimxboot/mkimxboot.c b/rbutil/mkimxboot/mkimxboot.c
index 47035bbc4d..511b3a1b7e 100644
--- a/rbutil/mkimxboot/mkimxboot.c
+++ b/rbutil/mkimxboot/mkimxboot.c
@@ -540,7 +540,7 @@ static enum imx_error_t load_sb_file(const char *file, int md5_idx,
540 clear_keys(); 540 clear_keys();
541 add_keys(imx_models[model].keys, imx_models[model].nr_keys); 541 add_keys(imx_models[model].keys, imx_models[model].nr_keys);
542 *sb_file = sb_read_file_ex(file, imx_sums[md5_idx].fw_variants[opt.fw_variant].offset, 542 *sb_file = sb_read_file_ex(file, imx_sums[md5_idx].fw_variants[opt.fw_variant].offset,
543 imx_sums[md5_idx].fw_variants[opt.fw_variant].size, false, NULL, &sb_std_printf, &err); 543 imx_sums[md5_idx].fw_variants[opt.fw_variant].size, false, NULL, generic_std_printf, &err);
544 if(*sb_file == NULL) 544 if(*sb_file == NULL)
545 { 545 {
546 clear_keys(); 546 clear_keys();
@@ -595,28 +595,6 @@ struct elf_user_t
595 size_t sz; 595 size_t sz;
596}; 596};
597 597
598static bool elf_read(void *user, uint32_t addr, void *buf, size_t count)
599{
600 struct elf_user_t *u = user;
601 if(addr + count <= u->sz)
602 {
603 memcpy(buf, u->buf + addr, count);
604 return true;
605 }
606 else
607 return false;
608}
609
610static void elf_printf(void *user, bool error, const char *fmt, ...)
611{
612 if(!g_debug && !error)
613 return;
614 (void) user;
615 va_list args;
616 va_start(args, fmt);
617 vprintf(fmt, args);
618 va_end(args);
619}
620/* Load a rockbox firwmare from a buffer. Data is copied. Assume firmware is 598/* Load a rockbox firwmare from a buffer. Data is copied. Assume firmware is
621 * using ELF format. */ 599 * using ELF format. */
622static enum imx_error_t rb_fw_load_buf_elf(struct rb_fw_t *fw, uint8_t *buf, 600static enum imx_error_t rb_fw_load_buf_elf(struct rb_fw_t *fw, uint8_t *buf,
@@ -627,7 +605,7 @@ static enum imx_error_t rb_fw_load_buf_elf(struct rb_fw_t *fw, uint8_t *buf,
627 user.buf = buf; 605 user.buf = buf;
628 user.sz = sz; 606 user.sz = sz;
629 elf_init(&elf); 607 elf_init(&elf);
630 if(!elf_read_file(&elf, &elf_read, &elf_printf, &user)) 608 if(!elf_read_file(&elf, elf_std_read, generic_std_printf, &user))
631 { 609 {
632 elf_release(&elf); 610 elf_release(&elf);
633 printf("[ERR] Error parsing ELF file\n"); 611 printf("[ERR] Error parsing ELF file\n");
@@ -744,7 +722,7 @@ enum imx_error_t mkimxboot(const char *infile, const char *bootfile,
744 ret = patch_firmware(model, opt.fw_variant, opt.output, 722 ret = patch_firmware(model, opt.fw_variant, opt.output,
745 sb_file, boot_fw, opt.force_version); 723 sb_file, boot_fw, opt.force_version);
746 if(ret == IMX_SUCCESS) 724 if(ret == IMX_SUCCESS)
747 ret = sb_write_file(sb_file, outfile, NULL, sb_std_printf); 725 ret = sb_write_file(sb_file, outfile, NULL, generic_std_printf);
748 726
749 clear_keys(); 727 clear_keys();
750 rb_fw_free(&boot_fw); 728 rb_fw_free(&boot_fw);