KVM: PPC: Book3S HV: XIVE: Ensure VP isn't already in use
[sfrench/cifs-2.6.git] / arch / powerpc / kvm / book3s_xive.h
index 955b820ffd6da64f7c4471db47b271bbc1e8fafe..fe3ed50e081867676ce8af7a4930cfe1ccebd9fe 100644 (file)
@@ -220,6 +220,18 @@ static inline u32 kvmppc_xive_vp(struct kvmppc_xive *xive, u32 server)
        return xive->vp_base + kvmppc_pack_vcpu_id(xive->kvm, server);
 }
 
+static inline bool kvmppc_xive_vp_in_use(struct kvm *kvm, u32 vp_id)
+{
+       struct kvm_vcpu *vcpu = NULL;
+       int i;
+
+       kvm_for_each_vcpu(i, vcpu, kvm) {
+               if (vcpu->arch.xive_vcpu && vp_id == vcpu->arch.xive_vcpu->vp_id)
+                       return true;
+       }
+       return false;
+}
+
 /*
  * Mapping between guest priorities and host priorities
  * is as follow.