Re: [U-Boot] Hi, Problem about verify uboot

(copying the mailing list - but please do this yourself from now on - note you will need to join it first if you have not already)
Hi,
On 23 July 2014 03:20, Duxiaoqiang duxiaoqiang@huawei.com wrote:
Hi Simon
When I verified secure UBOOT with FIT image, I found a problem about
it, and maybe need your help. Details about the problem please see below.
Ø Use mkimage tool to generate a fit.img file which contains a Linux image and a fdt file.
Ø Boot fit.img with bootm command: bootm 0xxxxxxxxx
Ø Verify hash value about the image and fdt was success. But after verify step, there was a synchronous abort exception(data alignment problem)
Ø I trace the source code, and found that the error occurred in function boot_fdt_add_mem_rsv_regions->fdt_num_mem_rsv->(_fdt_mem_rsv)->size;
_fdt_mem_rsv function will return a pointer point to the reserve memory space about fdt section in image, and in my environment the value is 0x985a051c, but the type of size is unsigned long long.
This is the reason why the synchronous abort exception happened.
And I I trace the address value of fdt_blob, it is 0x985a04f4, also
un-alignment to 8 bytes.
I guess the layout space of fdt was decided by mkimage tool. My question is:
I think it is a common problem, is there any precedent, and what is
the solution.
I'm not quite sure of the problem.
Is there any solutions to force the start address of fdt_blob be
align with 8 bytes?
Yes this is set by setup_fdt() in board_f.c, assuming you are using CONFIG_SYS_GENERIC_BOARD.
For the CONFIG_OF_SEPARATE case you probably need to make sure that u-boot.bin is a multiple of 8 bytes long. You can do this by adding alignment into the .lds file for your board before the _end or _image_end symbol.
Regards, Simon
participants (1)
-
Simon Glass