[PATCH v1 1/2] PSCI: Use DT Function ID values only for old versions of spec

Rob Herring robherring2 at gmail.com
Wed Mar 19 21:25:53 EDT 2014


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.

Rob

[1] https://patches.linaro.org/23918/



More information about the linux-arm-kernel mailing list