[meta-xilinx] SPL->ATF->Linux

Michal Simek michal.simek at xilinx.com
Fri Jun 14 00:20:45 PDT 2019


On 13. 06. 19 17:22, Jean-Francois Dagenais wrote:
> Thanks Michal!
> 
> This is awesome. I can certainly use this. Please review my assumptions below...
> 
>> On Jun 12, 2019, at 07:39, Michal Simek <michal.simek at xilinx.com> wrote:
>>
>> Create bif like this.
>> Image - one partition load addr 0x80000 as data
>> dtb - one partition load addr 0x100000000 as data
>>
>> ATF - one partition (as today) EL3
>> Trampoline code below() EL2-ns with filled kernel start to 0x80000 and
>> dtb at 0x100000000
>>
>> fsbl starts ATF and it will pass handoff structure and primary program
>> will be trampoline executed in EL2 which will just pass proper arguments
>> to kernel.
> 
> 
> So in essence, the program below becomes a standalone binary file which
> essentially replaces "u-boot.bin" correct? Let's call it linux-boot.bin
> (inspired by comment in code below).
> 
> This would mean that boot.bin file must contain linux-boot.bin so FSBL loads it
> to RAM prior to passing execution to ATF. If correct, linux-boot.bin must be
> loaded at 0xfffc8000 (if following the example below), correct?
> 
> If I understand all this correctly, I could either use FSBL with a boot.bin
> containing basically everything needed to boot up to the kernel, including
> linux-boot.bin. Or I could use SPL inside an u-boot's mkimage made boot.bin
> configured to load a FIT image containing atf, linux-boot.bin,kernelImage,dtb ?
> 
> If I understand FIT correctly, it is basically a "better", more straight forward
> way to load multiples binaries into RAM rather than messing with
> CONFIG_SPL_FS_LOAD_ARGS_NAME, CONFIG_SYS_SPL_ARGS_ADDR,
> CONFIG_SPL_FS_LOAD_KERNEL_NAME and CONFIG_SPL_FS_LOAD_PAYLOAD_NAME... correct?

If you want to boot just linux without u-boot you can simply run
FSBL->ATF->linux-boot.bin->Linux. That's what I have described in
previous email. And I would put linux-boot.bin to RAM out of Linux image.

And sure you can use SPL instead of FSBL which likely don't need to use
any trampoline code (linux-boot.bin). If this is packed in FIT I also
think that you don't need to use any trampoline for booting. But I
didn't test it to be 100% sure.

Thanks,
Michal







More information about the meta-xilinx mailing list