(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 <duxiaoqi...@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: > > 1) I think it is a common problem, is there any precedent, and what is > the solution. I'm not quite sure of the problem. > > 2) 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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot