Commit 823f1402 authored by Christian Borntraeger's avatar Christian Borntraeger Committed by Ben Hutchings

KVM: s390: flush CPU on load control

commit 2dca485f upstream.

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: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Acked-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: default avatarDavid Hildenbrand <dahi@linux.vnet.ibm.com>
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent dd395f67
...@@ -58,6 +58,7 @@ static int handle_lctlg(struct kvm_vcpu *vcpu) ...@@ -58,6 +58,7 @@ static int handle_lctlg(struct kvm_vcpu *vcpu)
break; break;
reg = (reg + 1) % 16; reg = (reg + 1) % 16;
} while (1); } while (1);
kvm_make_request(KVM_REQ_TLB_FLUSH, vcpu);
return 0; return 0;
} }
...@@ -97,6 +98,7 @@ static int handle_lctl(struct kvm_vcpu *vcpu) ...@@ -97,6 +98,7 @@ static int handle_lctl(struct kvm_vcpu *vcpu)
break; break;
reg = (reg + 1) % 16; reg = (reg + 1) % 16;
} while (1); } while (1);
kvm_make_request(KVM_REQ_TLB_FLUSH, vcpu);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment