Hello Stefan
> -----Original Message----- > From: Stefan Roese <s...@denx.de> > Sent: Friday, April 29, 2022 6:24 PM > To: U-Boot Mailing List <u-boot@lists.denx.de> > Cc: Gaurav Jain <gaurav.j...@nxp.com>; 'dullf...@yahoo.com > Subject: [EXT] fsl_hash.c: Alignment problem when using caam_hash() for FIT > images > > Caution: EXT Email > > Hi, > > while working on an LX2160 based board and updating to latest mainline I > noticed problems using the HW accelerated hash functions on this platform, > when trying to boot a FIT Kernel image. Here the resulting error message: > > ## Loading kernel from FIT Image at a0000000 ... > Using 'conf-freescale_lx2160a.dtb' configuration > Trying 'kernel-1' kernel subimage > Verifying Hash Integrity ... sha256Error: Address arguments are not > aligned > CAAM was not setup properly or it is faulty > error! > Bad hash value for 'hash-1' hash node in 'kernel-1' image node Bad Data Hash > ERROR: can't get kernel image! > > And here the addresses, printed from caam_hash(): > caam_hash (171): pbuf=00000000a00000fc pout=00000000fbde6f80 > buf_len=5291241 ARCH_DMA_MINALIGN=64 > > pbuf points to an area in the FIT image itself. So its not easy to change > this. > > In some quick tests I've dropped the alignment check and have not seen any > problems yet. The hash is calculated without any problems and seems to be > okay. > I might be just lucky though, not sure. > > So my basic question is: Is this alignment really necessary and required for > both > addresses in this function? You are right, Alignment is not necessary and can be removed. > > If yes, do you have some suggestions on how to handle this? Other than > allocating new aligned buffers in caam_hash() and memcpy'ing to those new > buffers instead. BTW, this is not a preferred solution for me, as boot-time is > crucial for my platform. > > Thanks, > Stefan