KVM: PPC: Book3S HV: Implement H_CONFER
The H_CONFER hypercall is used when a guest vcpu is spinning on a lock held by another vcpu which has been preempted, and the spinning vcpu wishes to give its timeslice to the lock holder. We implement this in the straightforward way using kvm_vcpu_yield_to(). Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Родитель
c0867fd509
Коммит
42d7604d0c
|
@ -538,6 +538,15 @@ int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu)
|
|||
}
|
||||
break;
|
||||
case H_CONFER:
|
||||
target = kvmppc_get_gpr(vcpu, 4);
|
||||
if (target == -1)
|
||||
break;
|
||||
tvcpu = kvmppc_find_vcpu(vcpu->kvm, target);
|
||||
if (!tvcpu) {
|
||||
ret = H_PARAMETER;
|
||||
break;
|
||||
}
|
||||
kvm_vcpu_yield_to(tvcpu);
|
||||
break;
|
||||
case H_REGISTER_VPA:
|
||||
ret = do_h_register_vpa(vcpu, kvmppc_get_gpr(vcpu, 4),
|
||||
|
|
Загрузка…
Ссылка в новой задаче