|
@@ -123,7 +123,7 @@ static unsigned long kvm_psci_vcpu_on(struct kvm_vcpu *source_vcpu)
|
|
|
if (!vcpu)
|
|
|
return PSCI_RET_INVALID_PARAMS;
|
|
|
if (!vcpu->arch.power_off) {
|
|
|
- if (kvm_psci_version(source_vcpu) != KVM_ARM_PSCI_0_1)
|
|
|
+ if (kvm_psci_version(source_vcpu, kvm) != KVM_ARM_PSCI_0_1)
|
|
|
return PSCI_RET_ALREADY_ON;
|
|
|
else
|
|
|
return PSCI_RET_INVALID_PARAMS;
|
|
@@ -232,14 +232,6 @@ static void kvm_psci_system_reset(struct kvm_vcpu *vcpu)
|
|
|
kvm_prepare_system_event(vcpu, KVM_SYSTEM_EVENT_RESET);
|
|
|
}
|
|
|
|
|
|
-int kvm_psci_version(struct kvm_vcpu *vcpu)
|
|
|
-{
|
|
|
- if (test_bit(KVM_ARM_VCPU_PSCI_0_2, vcpu->arch.features))
|
|
|
- return KVM_ARM_PSCI_LATEST;
|
|
|
-
|
|
|
- return KVM_ARM_PSCI_0_1;
|
|
|
-}
|
|
|
-
|
|
|
static int kvm_psci_0_2_call(struct kvm_vcpu *vcpu)
|
|
|
{
|
|
|
struct kvm *kvm = vcpu->kvm;
|
|
@@ -397,7 +389,7 @@ static int kvm_psci_0_1_call(struct kvm_vcpu *vcpu)
|
|
|
*/
|
|
|
static int kvm_psci_call(struct kvm_vcpu *vcpu)
|
|
|
{
|
|
|
- switch (kvm_psci_version(vcpu)) {
|
|
|
+ switch (kvm_psci_version(vcpu, vcpu->kvm)) {
|
|
|
case KVM_ARM_PSCI_1_0:
|
|
|
return kvm_psci_1_0_call(vcpu);
|
|
|
case KVM_ARM_PSCI_0_2:
|