[PATCH v1 1/2] PSCI: Use DT Function ID values only for old versions of spec
Christoffer Dall
christoffer.dall at linaro.org
Wed Mar 19 22:51:35 EDT 2014
On 19 March 2014 18:25, Rob Herring <robherring2 at gmail.com> wrote:
> On Wed, Mar 19, 2014 at 7:54 PM, Ashwin Chaugule
> <ashwin.chaugule at linaro.org> wrote:
>> The PSCI v0.2+ spec mandates specific values of Function IDs
>> for ARM32 and ARM64. Use DT bindings of Function IDs only
>> when using older versions. Use static values otherwise.
>> This patch also prepares the code to easily use the ACPI API
>> which is based off of PSCI v0.2+.
>>
>> Signed-off-by: Ashwin Chaugule <ashwin.chaugule at linaro.org>
>> ---
>> arch/arm/include/asm/psci.h | 15 ++++++
>> arch/arm/kernel/psci.c | 110 +++++++++++++++++++++++++++++++++++++-----
>> arch/arm64/include/asm/psci.h | 12 +++++
>> arch/arm64/kernel/psci.c | 106 +++++++++++++++++++++++++++++++++++-----
>> 4 files changed, 218 insertions(+), 25 deletions(-)
>>
>> diff --git a/arch/arm/include/asm/psci.h b/arch/arm/include/asm/psci.h
>> index c4ae171..3f8ebf9 100644
>> --- a/arch/arm/include/asm/psci.h
>> +++ b/arch/arm/include/asm/psci.h
>> @@ -17,6 +17,19 @@
>> #define PSCI_POWER_STATE_TYPE_STANDBY 0
>> #define PSCI_POWER_STATE_TYPE_POWER_DOWN 1
>>
>> +/* PSCI Function ID's for ARM32 as per PSCI spec v0.2 */
>> +
>> +#define PSCI_ID_VERSION 0x84000000
>> +#define PSCI_ID_CPU_SUSPEND 0x84000001
>> +#define PSCI_ID_CPU_OFF 0x84000002
>> +#define PSCI_ID_CPU_ON 0x84000003
>> +#define PSCI_ID_AFFINITY_INFO 0x84000004
>> +#define PSCI_ID_CPU_MIGRATE 0x84000005
>> +#define PSCI_ID_MIGRATE_INFO_TYPE 0x84000006
>> +#define PSCI_ID_MIGRATE_INFO_UP_CPU 0x84000007
>> +#define PSCI_ID_SYSTEM_OFF 0x84000008
>> +#define PSCI_ID_SYSTEM_RESET 0x84000009
>
> With the KVM patches[1], this makes 4 copies of these defines in the
> kernel (and then QEMU has more). This needs to go into a common header
> under include/linux. Probably under uapi so QEMU can use. There is
> some sync of headers between the kernel and QEMU I think.
>
yep, whenever something is in kvm/next or linus/master we can run a
script in the qemu directory which updates the headers and we commit
them in qemu with a reference to the kernel commit the headers come
from.
-Christoffer
More information about the linux-arm-kernel
mailing list