MIPS: fix MSA context for tasks which don't use FP first
authorPaul Burton <paul.burton@imgtec.com>
Thu, 31 Jul 2014 13:53:16 +0000 (14:53 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 1 Aug 2014 22:06:44 +0000 (00:06 +0200)
If a task does not execute scalar FP instructions prior to using MSA
then the flags indicating that the task has live MSA context were not
being set. The upper 64b of each vector register would then be lost
upon the tasks first context switch after using MSA.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7500/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/traps.c

index 1ed8457..4716b89 100644 (file)
@@ -1097,6 +1097,8 @@ static int enable_restore_fp_context(int msa)
                if (msa && !err) {
                        enable_msa();
                        _init_msa_upper();
+                       set_thread_flag(TIF_USEDMSA);
+                       set_thread_flag(TIF_MSA_CTX_LIVE);
                }
                if (!err)
                        set_used_math();