diff options
author | Simon Guo <wei.guo.simon@gmail.com> | 2018-05-23 09:01:49 +0200 |
---|---|---|
committer | Paul Mackerras <paulus@ozlabs.org> | 2018-06-01 02:29:12 +0200 |
commit | 7f386af7bdb1a45bb04fb02d7b751809d63e5b09 (patch) | |
tree | 33f95cf69d7372e60c9fa60b11db1f4fa6dd997d /arch/powerpc/kvm/tm.S | |
parent | KVM: PPC: Book3S PR: Add guest MSR parameter for kvmppc_save_tm()/kvmppc_rest... (diff) | |
download | linux-7f386af7bdb1a45bb04fb02d7b751809d63e5b09.tar.xz linux-7f386af7bdb1a45bb04fb02d7b751809d63e5b09.zip |
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.S | 2 |
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 |