[U-Boot] [PATCH v3 01/11] ARM: PSCI: change PSCI function IDs base and offsets

Hongbo Zhang macro.wave.z at gmail.com
Fri May 20 13:26:07 CEST 2016


On Thu, May 19, 2016 at 5:07 PM, Andre Przywara <andre.przywara at arm.com> wrote:
> Hi,
>
> On 19/05/16 09:45, Hongbo Zhang wrote:
>> On Wed, May 18, 2016 at 6:07 PM, Andre Przywara <andre.przywara at arm.com> wrote:
>>> Hi,
>>>
>>> On 18/05/16 10:10, macro.wave.z at gmail.com wrote:
>>>> From: Wang Dongsheng <dongsheng.wang at nxp.com>
>>>>
>>>> According to PSCI specification v1.0, the PSCI functions should start from
>>>> 0x84000000 for SMC32, this patch changes this base value as well as other
>>>> function offset values.
>>>
>>> Out of curiosity: Do you plan to ever support ARMv8 boards with PSCI
>>> services in U-Boot as well?
>>> Then we would need to think about adjusting the function IDs, because
>>> they use a "64-bit" flag for some functions.
>>>
>> My workmate Hongtao Jia <hongtao.jia at nxp.com> is working for ARMv8 PSCI.
>> That should be in another separate file, so same or different function
>> names can both be used freely I think.
>
> OK, let's see how this looks like. The offsets are the same, the prefix
> is different, but not for every function - only for those that carry a
> register-sized argument (CPU_OFF uses the 32-bit prefix, CPU_ON the
> 64-bit one, for instance).
> That's why I was asking how we address this without duplicating
> everything. But we can discuss this in the ARMv8 support thread.
>

OK, I see, we can discuss that later for armv8.
And welcome to leave any comments for other patches in this serial.

Thanks.

> Cheers,
> Andre.
>
>>
>>>> Signed-off-by: Wang Dongsheng <dongsheng.wang at nxp.com>
>>>> Signed-off-by: Hongbo Zhang <hongbo.zhang at nxp.com>
>>>
>>> Otherwise:
>>> Reviewed-by: Andre Przywara <andre.przywara at arm.com>
>>>
>> Thanks for review.
>>
>>>> ---
>>>>  arch/arm/include/asm/psci.h | 10 +++++-----
>>>>  1 file changed, 5 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/arch/arm/include/asm/psci.h b/arch/arm/include/asm/psci.h
>>>> index 128a606..a4a19e3 100644
>>>> --- a/arch/arm/include/asm/psci.h
>>>> +++ b/arch/arm/include/asm/psci.h
>>>> @@ -19,13 +19,13 @@
>>>>  #define __ARM_PSCI_H__
>>>>
>>>>  /* PSCI interface */
>>>> -#define ARM_PSCI_FN_BASE             0x95c1ba5e
>>>> +#define ARM_PSCI_FN_BASE             0x84000000
>>>>  #define ARM_PSCI_FN(n)                       (ARM_PSCI_FN_BASE + (n))
>>>>
>>>> -#define ARM_PSCI_FN_CPU_SUSPEND              ARM_PSCI_FN(0)
>>>> -#define ARM_PSCI_FN_CPU_OFF          ARM_PSCI_FN(1)
>>>> -#define ARM_PSCI_FN_CPU_ON           ARM_PSCI_FN(2)
>>>> -#define ARM_PSCI_FN_MIGRATE          ARM_PSCI_FN(3)
>>>> +#define ARM_PSCI_FN_CPU_SUSPEND              ARM_PSCI_FN(1)
>>>> +#define ARM_PSCI_FN_CPU_OFF          ARM_PSCI_FN(2)
>>>> +#define ARM_PSCI_FN_CPU_ON           ARM_PSCI_FN(3)
>>>> +#define ARM_PSCI_FN_MIGRATE          ARM_PSCI_FN(5)
>>>>
>>>>  #define ARM_PSCI_RET_SUCCESS         0
>>>>  #define ARM_PSCI_RET_NI                      (-1)
>>>>
>>


More information about the U-Boot mailing list