[U-Boot] [PATCH 2/2] arm64: add better spin-table support

Masahiro Yamada yamada.masahiro at socionext.com
Sat Jun 25 06:08:34 CEST 2016


Hi Andre,


2016-06-19 19:33 GMT+09:00 André Przywara <andre.przywara at arm.com>:
> Hi,
>
> On 19/06/16 09:57, Masahiro Yamada wrote:
>> 2016-06-18 18:40 GMT+09:00 Linus Walleij <linus.walleij at linaro.org>:
>>> On Fri, Jun 17, 2016 at 2:51 PM, Masahiro Yamada
>>> <yamada.masahiro at socionext.com> wrote:
>>>
>>>> There are two enable methods supported by ARM64 Linux; psci and
>>>> spin-table.  The latter is simpler and easier to use for quick SoC
>>>> bring-up.
>>>>
>>>> So, I used the spin-table for my first ARMv8 SoC porting, but I
>>>> found its support in U-Boot was poor.  It is true there exists a
>>>> code fragment for the spin code in arch/arm/cpu/armv8/start.S,
>>>> but I see some problems:
>>>
>>> Is part of the motivation for this approach to boot an ARMv8 system
>>> without using the ARM Trusted Firmware?
>>>
>>> Yours,
>>> Linus Walleij
>>
>> Yes, exactly.
>>
>> It would be the best choice
>> to switch over to PSCI with ATF in a long run,
>> but, I decided to use spin-table for the initial SoC bring-up
>> because of tight schedule.
>
> So if you don't have an ATF port ready, why not use U-Boot's PSCI
> implementation meanwhile? I think there are efforts underway to make
> PSCI enablement for random new boards a walk in the park (by making the
> PSCI support as generic as possible, CCing Chen-Yu for this).


So, you mean U-Boot can serve PSCI for ARMv8 SoCs without ATF, right?
(and efforts underway for further improvement)

I know PSCI support is available for ARMv7
(arch/arm/cpu/armv7/psci.S),
but I could not find PSCI implementation
in arch/arm/cpu/armv8/ directory in the mainline U-Boot.

I checked Chen-Yu's patches on Patchwork,
but I think they are mostly for improvement of ARMv7 PSCI support.

If I am missing something,
could you point me to the reference, please?



> IIRC the spin-table boot method was just introduced to cope with cores
> that don't have EL3 and thus cannot provide PSCI services the normal way
> (and that don't want to or cannot sacrifice EL2 for that).
> So I am a bit wary of proliferating this SMP method.

Proliferating?

Many of ARM 32bit SoCs have vendor-specific SMP methods.
On the other hand, ARM64 only has two methods; psci and spin-table.

Is this a problem?



> Wouldn't it be better to help making U-Boot's PSCI stack as easy to use
> as possible? I don't see technical reasons that adding PSCI support for
> a board should be harder or more involved than adding spin-table support
> - in the end you need to tell it about the SMP pen, maybe providing (or
> faking?) reset and shutdown for 0.2 compliance.


Right.

My motivation is to bring up Linux quickly
before ATF becomes ready.

>From your statement, I felt
efforts for the ARMv8 PSCI implementation in U-Boot are underway.
If so, I am definitely interested in it.


-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list