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

york sun york.sun at nxp.com
Mon Nov 7 17:56:43 CET 2016


On 11/06/2016 06:21 PM, Alison Wang wrote:
>>
> [Alison Wang] Thanks for all your comments.
>
> For the issue about the tree would not be bisect-able, I have
> a solution. Actually it is the root cause that 64-bit kernel could not boot
> up when U-Boot is running in EL2. I will move these codes from the third patch
> to the first patch.
>
> ENTRY(armv8_switch_to_el2)
>         switch_el x5, 1f, 0f, 0f
> -0:     ret
> +       /*
> +        * x3 is kernel entry point or switch_to_el1
> +         * if CONFIG_ARMV8_SWITCH_TO_EL1 is defined.

I guess you meant EL2 here.

> +         * When running in EL2 now, jump to the
> +         * address saved in x3.
> +        */
> +0:     br x3
>  1:     armv8_switch_to_el2_m x3, x4, x5
>  ENDPROC(armv8_switch_to_el2)
>
>  ENTRY(armv8_switch_to_el1)
>  	  switch_el x5, 0f, 1f, 0f
> -0:     ret
> +
> +       /*
> +         * x3 is kernel entry point. When running in EL1
> +         * now, jump to the address saved in x3.
> +        */
> +0:     br x3
>  1:     armv8_switch_to_el1_m x3, x4, x5
>  ENDPROC(armv8_switch_to_el1)
>
> With this re-order, the bitsect issue will be fixed and there is not a point
> that kernel could not boot up.
>
> If you all agree with this re-order, I will send out the v8 patch includes the
> first, second and third patches.
>

Would it be a good idea to setup the simulator and verify booting process?

York



More information about the U-Boot mailing list