Skip to content

Commit

Permalink
arm/arm64: KVM: Add PSCI_VERSION helper
Browse files Browse the repository at this point in the history
As we're about to trigger a PSCI version explosion, it doesn't
hurt to introduce a PSCI_VERSION helper that is going to be
used everywhere.

Reviewed-by: Christoffer Dall <[email protected]>
Tested-by: Ard Biesheuvel <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
Signed-off-by: Catalin Marinas <[email protected]>
  • Loading branch information
Marc Zyngier authored and ctmarinas committed Feb 6, 2018
1 parent 1a2fb94 commit d0a144f
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
6 changes: 4 additions & 2 deletions include/kvm/arm_psci.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@
#ifndef __KVM_ARM_PSCI_H__
#define __KVM_ARM_PSCI_H__

#define KVM_ARM_PSCI_0_1 1
#define KVM_ARM_PSCI_0_2 2
#include <uapi/linux/psci.h>

#define KVM_ARM_PSCI_0_1 PSCI_VERSION(0, 1)
#define KVM_ARM_PSCI_0_2 PSCI_VERSION(0, 2)

int kvm_psci_version(struct kvm_vcpu *vcpu);
int kvm_psci_call(struct kvm_vcpu *vcpu);
Expand Down
3 changes: 3 additions & 0 deletions include/uapi/linux/psci.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
(((ver) & PSCI_VERSION_MAJOR_MASK) >> PSCI_VERSION_MAJOR_SHIFT)
#define PSCI_VERSION_MINOR(ver) \
((ver) & PSCI_VERSION_MINOR_MASK)
#define PSCI_VERSION(maj, min) \
((((maj) << PSCI_VERSION_MAJOR_SHIFT) & PSCI_VERSION_MAJOR_MASK) | \
((min) & PSCI_VERSION_MINOR_MASK))

/* PSCI features decoding (>=1.0) */
#define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT 1
Expand Down
4 changes: 1 addition & 3 deletions virt/kvm/arm/psci.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@

#include <kvm/arm_psci.h>

#include <uapi/linux/psci.h>

/*
* This is an implementation of the Power State Coordination Interface
* as described in ARM document number ARM DEN 0022A.
Expand Down Expand Up @@ -222,7 +220,7 @@ static int kvm_psci_0_2_call(struct kvm_vcpu *vcpu)
* Bits[31:16] = Major Version = 0
* Bits[15:0] = Minor Version = 2
*/
val = 2;
val = KVM_ARM_PSCI_0_2;
break;
case PSCI_0_2_FN_CPU_SUSPEND:
case PSCI_0_2_FN64_CPU_SUSPEND:
Expand Down

0 comments on commit d0a144f

Please sign in to comment.