summaryrefslogtreecommitdiff
path: root/arch/powerpc/kvm/tm.S
diff options
context:
space:
mode:
authorSimon Guo <wei.guo.simon@gmail.com>2018-05-23 15:01:49 +0800
committerPaul Mackerras <paulus@ozlabs.org>2018-06-01 10:29:12 +1000
commit7f386af7bdb1a45bb04fb02d7b751809d63e5b09 (patch)
tree33f95cf69d7372e60c9fa60b11db1f4fa6dd997d /arch/powerpc/kvm/tm.S
parent6f597c6b63b6f3675914b5ec8fcd008a58678650 (diff)
KVM: PPC: Book3S PR: Turn on FP/VSX/VMX MSR bits in kvmppc_save_tm()
kvmppc_save_tm() invokes store_fp_state/store_vr_state(). So it is mandatory to turn on FP/VSX/VMX MSR bits for its execution, just like what kvmppc_restore_tm() did. Previously HV KVM has turned the bits on outside of function kvmppc_save_tm(). Now we include this bit change in kvmppc_save_tm() so that the logic is cleaner. And PR KVM can reuse it later. Signed-off-by: Simon Guo <wei.guo.simon@gmail.com> Reviewed-by: Paul Mackerras <paulus@ozlabs.org> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Diffstat (limited to 'arch/powerpc/kvm/tm.S')
-rw-r--r--arch/powerpc/kvm/tm.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/tm.S b/arch/powerpc/kvm/tm.S
index f027b5a0c0f0..2760d7acd371 100644
--- a/arch/powerpc/kvm/tm.S
+++ b/arch/powerpc/kvm/tm.S
@@ -41,6 +41,8 @@ _GLOBAL(kvmppc_save_tm)
mfmsr r8
li r0, 1
rldimi r8, r0, MSR_TM_LG, 63-MSR_TM_LG
+ ori r8, r8, MSR_FP
+ oris r8, r8, (MSR_VEC | MSR_VSX)@h
mtmsrd r8
rldicl. r4, r4, 64 - MSR_TS_S_LG, 62