KVM: s390: ignore IBC if zero

Looks like we forgot about the special IBC value of 0 meaning "no IBC".
Let's fix that, otherwise it gets rounded up and suddenly an IBC is active
with the lowest possible machine.

Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Fixes: commit 053dd2308d ("KVM: s390: force ibc into valid range")
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
David Hildenbrand 2016-06-10 09:22:31 +02:00 committed by Christian Borntraeger
parent af8c34ce6a
commit 0487c44d1e
1 changed files with 1 additions and 1 deletions

View File

@ -657,7 +657,7 @@ static int kvm_s390_set_processor(struct kvm *kvm, struct kvm_device_attr *attr)
kvm->arch.model.cpuid = proc->cpuid; kvm->arch.model.cpuid = proc->cpuid;
lowest_ibc = sclp.ibc >> 16 & 0xfff; lowest_ibc = sclp.ibc >> 16 & 0xfff;
unblocked_ibc = sclp.ibc & 0xfff; unblocked_ibc = sclp.ibc & 0xfff;
if (lowest_ibc) { if (lowest_ibc && proc->ibc) {
if (proc->ibc > unblocked_ibc) if (proc->ibc > unblocked_ibc)
kvm->arch.model.ibc = unblocked_ibc; kvm->arch.model.ibc = unblocked_ibc;
else if (proc->ibc < lowest_ibc) else if (proc->ibc < lowest_ibc)