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

Hongbo Zhang macro.wave.z at gmail.com
Mon Oct 31 04:00:15 CET 2016


Thanks Tom.
I am sending out an updated v2 soon, with the related configs updated.

On Fri, Oct 28, 2016 at 9:30 PM, Tom Rini <trini at konsulko.com> wrote:
> On Wed, Sep 28, 2016 at 03:16:38PM +0800, Hongbo Zhang wrote:
>> 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.
>
> OK.
>
>> 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.
>
> I think that at the end of the day we need to have less options be
> defined and asked under board/ and make more and in some cases better
> use of the common Kconfig files.  Looking at how things are done in the
> Linux Kernel, in general, can be instructive here.  Maybe the right
> answer here is to have CONFIG_ARCH_WANT_GENERIC_PSCI_... with default y
> (if most cases would be the generic one) and in the negative use the
> other option which is board specific values.
>
> But re-reading patch 6/6, I'm still not convinced that we shouldn't
> start out with these being all in arch/arm/cpu/armv8/Kconfig, under the
> PSCI option, for everyone, and default ... if layerscape.  And that
> reminds that I wonder if we shouldn't have some higher level option to
> say "I am ARMv8 Layerscape" to cover the cases where today we test vs a
> number of TARGET_LS.... choices.  Thanks!
>
> --
> Tom


More information about the U-Boot mailing list