diff options
Diffstat (limited to 'arch/powerpc/kvm/book3s_hv.c')
-rw-r--r-- | arch/powerpc/kvm/book3s_hv.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 54b45b73195f..a7352b59e6f9 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c | |||
@@ -224,6 +224,12 @@ static void kvmppc_core_vcpu_put_hv(struct kvm_vcpu *vcpu) | |||
224 | 224 | ||
225 | static void kvmppc_set_msr_hv(struct kvm_vcpu *vcpu, u64 msr) | 225 | static void kvmppc_set_msr_hv(struct kvm_vcpu *vcpu, u64 msr) |
226 | { | 226 | { |
227 | /* | ||
228 | * Check for illegal transactional state bit combination | ||
229 | * and if we find it, force the TS field to a safe state. | ||
230 | */ | ||
231 | if ((msr & MSR_TS_MASK) == MSR_TS_MASK) | ||
232 | msr &= ~MSR_TS_MASK; | ||
227 | vcpu->arch.shregs.msr = msr; | 233 | vcpu->arch.shregs.msr = msr; |
228 | kvmppc_end_cede(vcpu); | 234 | kvmppc_end_cede(vcpu); |
229 | } | 235 | } |