Re: AW: load BL31 on imx8mm and imx8mq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> And what is the reason behind decreasing 16 from returning address:
> 
> MX8MQ_ATF_BL33_BASE_ADDR - 16
> 
> I removed "16" for im8mq in Barebox and still works.

This puts some distance between the stack and your execution address.
As long as nobody is writing to the stack pointer before increasing it
you are save and your return address is not overwritte. Your probably
save anyway since the instructions at the address
MX8MQ_ATF_BL33_BASE_ADDR are only executed once and don't manipulate
the stack.

The stack pointer inherently has nothing to do with the return address,
you just have to make sure that the stack pointer is pointing to a
valid address, othwise you may get aborts on stack usage.

> The PLAT_NS_IMAGE_OFFSET is identical for imx8mq and imx8mm. Do you
> have any idea why the firmware is not returned to this address?
> Do we need to enable any special timer or clock for this point?
> I used the same firmware as I have used in UBoot, thus the firmware
> itself should be correct.

It may be a good idea to build the TF-A yourself and enable the debug
output therein to make sure that TF-A is not missing a crucial setup
step. The TF-A can be found a 
https://source.codeaurora.org/external/imx/imx-atf/
pick one of the release branches, enable the debug console in
plat/imx/imx8mm/include/platform_def.h and build a Debug build with
make plat=imx8mm DEBUG=1.

Regards,
Rouven


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux