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

Andre Przywara andre.przywara at arm.com
Thu May 19 11:07:50 CEST 2016


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.

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