[U-Boot] [PATCH v2 03/23] armv8: add lowlevel_init.S

André Przywara andre.przywara at arm.com
Tue Dec 6 09:04:24 CET 2016


On 05/12/16 21:56, Tom Rini wrote:
> On Mon, Dec 05, 2016 at 01:52:10AM +0000, Andre Przywara wrote:
> 
>> For boards that call s_init() when the SPL runs, we are expected to
>> setup an early stack before calling this C function.
>> Implement the proper AArch64 version of this based on the ARMv7 code.
>> This allows sunxi boards to setup the basic peripherals even on with a
>> 64-bit SPL.
>>
>> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> 
> This is going to override lowlevel_init from arch/arm/cpu/armv8/start.S
> and is that really desired?  Thanks!

Not sure if it is desired, but it's needed. The weak function in start.S
just initialises the GIC (if configured), that looks like a NOP for
sunxi to me (we do this already much better in ARM Trusted Firmware).
For 32-bit sunxi we call s_init() through lowlevel_init(), which is what
I copy here for armv8.
Now there is this comment which discourages doing so and Alex already
complained about it as well, so I might take a look at how we would skip
this step. I was a bit wary going there as this would mean to rework the
32-bit code as well, which affects a lot of boards, which I can barely
test here.

Cheers,
Andre.





More information about the U-Boot mailing list