mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 13:11:31 +00:00
Merge branch '2019-03-08-master-imports'
- Assorted minor fixes: - ARM: qemu-arm: enable USB boot in distro boot with UEFI - image: fdt: handle coalesced reserve region - cmd: thordown: Fix spelling of download. - fdt: Fix FIT header verification in mkimage and conduct same checks as bootm - test: Update test-imagetools.sh to match new syntax
This commit is contained in:
commit
e8e3f2d2d4
9 changed files with 77 additions and 14 deletions
|
@ -65,7 +65,7 @@ done:
|
|||
U_BOOT_CMD(thordown, CONFIG_SYS_MAXARGS, 1, do_thor_down,
|
||||
"TIZEN \"THOR\" downloader",
|
||||
"<USB_controller> <interface> <dev>\n"
|
||||
" - device software upgrade via LTHOR TIZEN dowload\n"
|
||||
" - device software upgrade via LTHOR TIZEN download\n"
|
||||
" program via <USB_controller> on device <dev>,\n"
|
||||
" attached to interface <interface>\n"
|
||||
);
|
||||
|
|
|
@ -71,10 +71,10 @@ static const image_header_t *image_get_fdt(ulong fdt_addr)
|
|||
static void boot_fdt_reserve_region(struct lmb *lmb, uint64_t addr,
|
||||
uint64_t size)
|
||||
{
|
||||
int ret;
|
||||
long ret;
|
||||
|
||||
ret = lmb_reserve(lmb, addr, size);
|
||||
if (!ret) {
|
||||
if (ret >= 0) {
|
||||
debug(" reserving fdt memory region: addr=%llx size=%llx\n",
|
||||
(unsigned long long)addr, (unsigned long long)size);
|
||||
} else {
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#define CONFIG_ENV_SIZE SZ_256K
|
||||
|
||||
#define BOOT_TARGET_DEVICES(func) \
|
||||
func(USB, usb, 0) \
|
||||
func(SCSI, scsi, 0) \
|
||||
func(VIRTIO, virtio, 0) \
|
||||
func(DHCP, dhcp, na)
|
||||
|
|
|
@ -102,10 +102,10 @@ create_multi_image()
|
|||
extract_multi_image()
|
||||
{
|
||||
echo -e "\nExtracting multi-file image contents..."
|
||||
do_cmd ${DUMPIMAGE} -T multi -i ${IMAGE_MULTI} -p 0 ${DATAFILE0}
|
||||
do_cmd ${DUMPIMAGE} -T multi -i ${IMAGE_MULTI} -p 1 ${DATAFILE1}
|
||||
do_cmd ${DUMPIMAGE} -T multi -i ${IMAGE_MULTI} -p 2 ${DATAFILE2}
|
||||
do_cmd ${DUMPIMAGE} -T multi -i ${IMAGE_MULTI} -p 2 ${DATAFILE2} -o ${TEST_OUT}
|
||||
do_cmd ${DUMPIMAGE} -T multi -p 0 -o ${DATAFILE0} ${IMAGE_MULTI}
|
||||
do_cmd ${DUMPIMAGE} -T multi -p 1 -o ${DATAFILE1} ${IMAGE_MULTI}
|
||||
do_cmd ${DUMPIMAGE} -T multi -p 2 -o ${DATAFILE2} ${IMAGE_MULTI}
|
||||
do_cmd ${DUMPIMAGE} -T multi -p 2 -o ${TEST_OUT} ${IMAGE_MULTI}
|
||||
echo "done."
|
||||
}
|
||||
|
||||
|
@ -166,10 +166,10 @@ create_fit_image()
|
|||
extract_fit_image()
|
||||
{
|
||||
echo -e "\nExtracting FIT image contents..."
|
||||
do_cmd ${DUMPIMAGE} -T flat_dt -i ${IMAGE_FIT_ITB} -p 0 ${DATAFILE0}
|
||||
do_cmd ${DUMPIMAGE} -T flat_dt -i ${IMAGE_FIT_ITB} -p 1 ${DATAFILE1}
|
||||
do_cmd ${DUMPIMAGE} -T flat_dt -i ${IMAGE_FIT_ITB} -p 2 ${DATAFILE2}
|
||||
do_cmd ${DUMPIMAGE} -T flat_dt -i ${IMAGE_FIT_ITB} -p 2 ${DATAFILE2} -o ${TEST_OUT}
|
||||
do_cmd ${DUMPIMAGE} -T flat_dt -p 0 -o ${DATAFILE0} ${IMAGE_FIT_ITB}
|
||||
do_cmd ${DUMPIMAGE} -T flat_dt -p 1 -o ${DATAFILE1} ${IMAGE_FIT_ITB}
|
||||
do_cmd ${DUMPIMAGE} -T flat_dt -p 2 -o ${DATAFILE2} ${IMAGE_FIT_ITB}
|
||||
do_cmd ${DUMPIMAGE} -T flat_dt -p 2 -o ${TEST_OUT} ${IMAGE_FIT_ITB}
|
||||
echo "done."
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,10 @@
|
|||
int fit_verify_header(unsigned char *ptr, int image_size,
|
||||
struct image_tool_params *params)
|
||||
{
|
||||
return fdt_check_header(ptr);
|
||||
if (fdt_check_header(ptr) != EXIT_SUCCESS || !fit_check_format(ptr))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
int fit_check_image_types(uint8_t type)
|
||||
|
|
|
@ -10,6 +10,14 @@
|
|||
#include "mkimage.h"
|
||||
#include <image.h>
|
||||
|
||||
/**
|
||||
* Verify the format of FIT header pointed to by ptr
|
||||
*
|
||||
* @ptr: image header to be verified
|
||||
* @image_size: size of while image
|
||||
* @params: mkimage parameters
|
||||
* @return 0 if OK, -1 on error
|
||||
*/
|
||||
int fit_verify_header(unsigned char *ptr, int image_size,
|
||||
struct image_tool_params *params);
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ int imagetool_verify_print_header(
|
|||
|
||||
if (retval == 0) {
|
||||
/*
|
||||
* Print the image information if verify is
|
||||
* Print the image information if verify is
|
||||
* successful
|
||||
*/
|
||||
if ((*curr)->print_header) {
|
||||
|
@ -65,6 +65,38 @@ int imagetool_verify_print_header(
|
|||
return retval;
|
||||
}
|
||||
|
||||
int imagetool_verify_print_header_by_type(
|
||||
void *ptr,
|
||||
struct stat *sbuf,
|
||||
struct image_type_params *tparams,
|
||||
struct image_tool_params *params)
|
||||
{
|
||||
int retval;
|
||||
|
||||
retval = tparams->verify_header((unsigned char *)ptr, sbuf->st_size,
|
||||
params);
|
||||
|
||||
if (retval == 0) {
|
||||
/*
|
||||
* Print the image information if verify is successful
|
||||
*/
|
||||
if (tparams->print_header) {
|
||||
if (!params->quiet)
|
||||
tparams->print_header(ptr);
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"%s: print_header undefined for %s\n",
|
||||
params->cmdname, tparams->name);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"%s: verify_header failed for %s with exit code %d\n",
|
||||
params->cmdname, tparams->name, retval);
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
int imagetool_save_subimage(
|
||||
const char *file_name,
|
||||
ulong file_data,
|
||||
|
|
|
@ -179,6 +179,25 @@ int imagetool_verify_print_header(
|
|||
struct image_type_params *tparams,
|
||||
struct image_tool_params *params);
|
||||
|
||||
/*
|
||||
* imagetool_verify_print_header_by_type() - verifies the image header
|
||||
*
|
||||
* Verify the image_header for the image type given by tparams.
|
||||
* If verification is successful, this prints the respective header.
|
||||
* @ptr: pointer the the image header
|
||||
* @sbuf: stat information about the file pointed to by ptr
|
||||
* @tparams: image type parameters
|
||||
* @params: mkimage parameters
|
||||
*
|
||||
* @return 0 on success, negative if input image format does not match with
|
||||
* the given image type
|
||||
*/
|
||||
int imagetool_verify_print_header_by_type(
|
||||
void *ptr,
|
||||
struct stat *sbuf,
|
||||
struct image_type_params *tparams,
|
||||
struct image_tool_params *params);
|
||||
|
||||
/**
|
||||
* imagetool_save_subimage - store data into a file
|
||||
* @file_name: name of the destination file
|
||||
|
|
|
@ -409,7 +409,7 @@ int main(int argc, char **argv)
|
|||
* Print the image information for matched image type
|
||||
* Returns the error code if not matched
|
||||
*/
|
||||
retval = imagetool_verify_print_header(ptr, &sbuf,
|
||||
retval = imagetool_verify_print_header_by_type(ptr, &sbuf,
|
||||
tparams, ¶ms);
|
||||
|
||||
(void) munmap((void *)ptr, sbuf.st_size);
|
||||
|
|
Loading…
Add table
Reference in a new issue