Merge tag 'kvm-3.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[firefly-linux-kernel-4.4.55.git] / arch / s390 / kvm / kvm-s390.c
index 4377d18866319e96c3d2ecf5e313701283fe96cb..4cf35a0a79e7734b6cd99803f3f54bd2df5c6396 100644 (file)
@@ -149,7 +149,7 @@ int kvm_dev_ioctl_check_extension(long ext)
                r = KVM_MAX_VCPUS;
                break;
        case KVM_CAP_S390_COW:
-               r = sclp_get_fac85() & 0x2;
+               r = MACHINE_HAS_ESOP;
                break;
        default:
                r = 0;
@@ -618,7 +618,9 @@ static int __vcpu_run(struct kvm_vcpu *vcpu)
                kvm_s390_deliver_pending_interrupts(vcpu);
 
        vcpu->arch.sie_block->icptcode = 0;
+       preempt_disable();
        kvm_guest_enter();
+       preempt_enable();
        VCPU_EVENT(vcpu, 6, "entering sie flags %x",
                   atomic_read(&vcpu->arch.sie_block->cpuflags));
        trace_kvm_s390_sie_enter(vcpu,