On 7 July 2016 at 13:30, Alexander Graf <ag...@suse.de> wrote: > On 07/07/2016 02:16 PM, Ryan Harkin wrote: >> >> On 7 July 2016 at 07:30, Alison Wang <b18...@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....@nxp.com> >>> Signed-off-by: Alison Wang <alison.w...@nxp.com> >>> Signed-off-by: Chenhui Zhao <chenhui.z...@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). >
Pah! I misread the patch, specifically this hunk (and the one before it, I suppose): diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index e3c9832..59adab8 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -193,7 +193,6 @@ static void do_nonsec_virt_switch(void) { smp_kick_all_cpus(); dcache_disable(); /* flush cache before swtiching to EL2 */ - armv8_switch_to_el2(); } #endif That's a "-", not a "+" on the call to armv8_switch_to_el2(). Either way, all my platforms are dead with this patch. > > Alex > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot