[U-Boot] [PATCH 0/6] Add ARMv8 PSCI framework

Hongbo Zhang macro.wave.z at gmail.com
Wed Sep 28 09:16:38 CEST 2016


On Wed, Sep 28, 2016 at 1:23 AM, Tom Rini <trini at konsulko.com> wrote:
> On Tue, Sep 27, 2016 at 05:29:00PM +0800, macro.wave.z at gmail.com wrote:
>> From: Hongbo Zhang <hongbo.zhang at nxp.com>
>>
>> This patch set introduces ARMv8 PSCI framework, all the PSCI functions are
>> implemented a default dummy one, it is up to each platform to implement their
>> own specific ones.
>>
>> The first 1/6 patch is a prepare clean up for adding ARMv8 PSCI.
>> Patches 2/6 to 5/6 introduce new ARMv8 framework and set it up.
>> The last 6/6 adds a most simple implementation on NXP LS1043 platform, to
>> verify this framework.
>>
>> This patch set mainly introduces ARMv8 PSCI framework, for easier review and
>> merge, further PSCI implementation on LS1043 is coming later.
>>
>> Hongbo Zhang (6):
>>   ARMv8: LS1043A: change macro CONFIG_ARMV8_PSCI definition
>>   ARMv8: Add secure sections for PSCI text and data
>>   ARMv8: Add basic PSCI framework
>>   ARMv8: Setup PSCI memory and dt
>>   ARMv8: Enable SMC instruction
>>   ARMv8: LS1043A: Enable LS1043A default PSCI support
>
> Conceptually this is good.  I have some issues around order of the
> patches, and where the Kconfig entries end up.  Looking over the series
> we introduce usage of some CONFIG symbols prior to declaring them in
> Kconfig.  This is more of a hard no now as it will break bisecting when
> the test for no new CONFIG symbols is tripped.  The other problem is
> that I think the symbols you're adding in
> board/freescale/ls1043ardb/Kconfig need to be in
> arch/arm/cpu/armv8/Kconfig and then use default ... if ... to give the
> right address for the layerscape boards.

Thanks Tom for quick response.

For config options introduced:
CONFIG_ARMV8_PSCI
CONFIG_ARMV8_PSCI_NR_CPUS
CONFIG_CPU_PER_CLUSTER
CONFIG_ARMV8_SECURE_BASE

I've tested adding patch one by one, there is no problem with the
check-config script.

And my idea was like this: let the CONFIG_ARMV8_PSCI to be an overall
switch, and if it is enabled even without the other three ones, the
default PSCI still works, as I've tested, this really works because
any of the other three macros, when used, there is a #ifdef to check
if it exists, if no, a default value is used or it isn't used at all.
The later three macros, because they are platform specific so I
intended to let every platform to define them.

This is slightly different from ARMv7, plan was if this get accepted,
I would like to send patch to update ARMv7's.

>
> --
> Tom


More information about the U-Boot mailing list