[U-Boot] [PATCH v5 1/2] armv8: Support loading 32-bit OS in AArch32 execution state

Alexander Graf agraf at suse.de
Thu Jul 7 14:30:36 CEST 2016


On 07/07/2016 02:16 PM, Ryan Harkin wrote:
> On 7 July 2016 at 07:30, Alison Wang <b18965 at freescale.com> wrote:
>> To support loading a 32-bit OS, the execution state will change from
>> AArch64 to AArch32 when jumping to kernel.
>>
>> The architecture information will be got through checking FIT image,
>> then U-Boot will load 32-bit OS or 64-bit OS automatically.
>>
>> Signed-off-by: Ebony Zhu <ebony.zhu at nxp.com>
>> Signed-off-by: Alison Wang <alison.wang at nxp.com>
>> Signed-off-by: Chenhui Zhao <chenhui.zhao at nxp.com>
> Unfortunately, this patch fails to boot for me.
>
> On FVP Foundation models, I see this error before the model hangs:
>
> [snip]
> Starting kernel ...
>
> resetting ...
> [snip]
>
> And I see the same output on AEMv8 Base models and Juno boards, only
> they reset continuously rather than hang.
>
> I think the problem is that I see this from ARM Trusted Firmware on boot:
>
> INFO:    BL31: Preparing for EL3 exit to normal world
>
> Looking at the patch, it appears to be changing everything to boot in EL2.

That was the case before the patch (with the removal of the EL1 boot 
thing) already. Linux can't run in EL3, that's why it has to boot in EL2 
(or EL1, but that really should be limited to VMs).


Alex



More information about the U-Boot mailing list