|
@@ -423,6 +423,8 @@ int kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,
|
|
|
return -EINVAL; /* not implemented yet */
|
|
|
}
|
|
|
|
|
|
+extern void s390_handle_mcck(void);
|
|
|
+
|
|
|
static void __vcpu_run(struct kvm_vcpu *vcpu)
|
|
|
{
|
|
|
memcpy(&vcpu->arch.sie_block->gg14, &vcpu->arch.guest_gprs[14], 16);
|
|
@@ -430,6 +432,9 @@ static void __vcpu_run(struct kvm_vcpu *vcpu)
|
|
|
if (need_resched())
|
|
|
schedule();
|
|
|
|
|
|
+ if (test_thread_flag(TIF_MCCK_PENDING))
|
|
|
+ s390_handle_mcck();
|
|
|
+
|
|
|
vcpu->arch.sie_block->icptcode = 0;
|
|
|
local_irq_disable();
|
|
|
kvm_guest_enter();
|