summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Borntraeger2014-10-31 09:24:20 +0100
committerChristian Borntraeger2014-11-07 11:10:52 +0100
commit2dca485f8740208604543c3960be31a5dd3ea603 (patch)
tree84b58a0a95de30c635b76358d964a57055c0bbe7
parentKVM: s390: Fix ipte locking (diff)
downloadkernel-qcow2-linux-2dca485f8740208604543c3960be31a5dd3ea603.tar.gz
kernel-qcow2-linux-2dca485f8740208604543c3960be31a5dd3ea603.tar.xz
kernel-qcow2-linux-2dca485f8740208604543c3960be31a5dd3ea603.zip
KVM: s390: flush CPU on load control
some control register changes will flush some aspects of the CPU, e.g. POP explicitely mentions that for CR9-CR11 "TLBs may be cleared". Instead of trying to be clever and only flush on specific CRs, let play safe and flush on all lctl(g) as future machines might define new bits in CRs. Load control intercept should not happen that often. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Cc: stable@vger.kernel.org
-rw-r--r--arch/s390/kvm/priv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c
index 72bb2dd8b9cd..9c565b6b4ccb 100644
--- a/arch/s390/kvm/priv.c
+++ b/arch/s390/kvm/priv.c
@@ -791,7 +791,7 @@ int kvm_s390_handle_lctl(struct kvm_vcpu *vcpu)
break;
reg = (reg + 1) % 16;
} while (1);
-
+ kvm_make_request(KVM_REQ_TLB_FLUSH, vcpu);
return 0;
}
@@ -863,7 +863,7 @@ static int handle_lctlg(struct kvm_vcpu *vcpu)
break;
reg = (reg + 1) % 16;
} while (1);
-
+ kvm_make_request(KVM_REQ_TLB_FLUSH, vcpu);
return 0;
}