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:
parent
af8c34ce6a
commit
0487c44d1e
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue