
Hi Mark,
On Tue, 1 Feb 2022 at 09:08, Mark Kettenis mark.kettenis@xs4all.nl wrote:
From: Simon Glass sjg@chromium.org Date: Tue, 1 Feb 2022 08:42:35 -0700
It seems that rk3399 uses bl31.elf and splits out the sections into pieces. What a mess! I wonder if that is necessary for ATF to work? It seems to do the same for TEE.
That's because bl31.elf really consists of three binary blobs packed together into a single ELF object. This is done such that specific bits needed for suspend/resume land in the AP's SRAM and the PMU's SRAM while the majority lands in DRAM. The splitting happens to make U-Boot's ITS stuff happy.
OK I see, thanks. I hadn't realised it was running from SDRAM. I suppose SPL has set that up already. It would help if I could get my firefly-rk3399 unblocked.
I suppose this could be done in a different way by packing the ELF binary itself into the FIT image, but then SPL has to parse the ELF headers and copy things in place which may be challenging.
We do have code for that which we could press into service, but it goes against the idea of SPL a bit, I think, when you can do it in advance.
(I'm not familliar with the TEE stuff)
Well if we need to do it for BL31, it is not really any more effort to do it for TEE, I suppose.
Regards, Simon