summaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2014-07-31 14:53:16 +0100
committerRalf Baechle <ralf@linux-mips.org>2014-08-02 00:06:44 +0200
commit732c0c3c70869af53654db2b56dffdd8d4df5211 (patch)
treee27283e34e5a2fb6d7e3ab88412eb8573b7c0c43 /arch/mips
parentc9017757c532d48bf43d6e7d3b7282443ad4207b (diff)
downloadop-kernel-dev-732c0c3c70869af53654db2b56dffdd8d4df5211.zip
op-kernel-dev-732c0c3c70869af53654db2b56dffdd8d4df5211.tar.gz
MIPS: fix MSA context for tasks which don't use FP first
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>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/kernel/traps.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 1ed8457..4716b895 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -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();
OpenPOWER on IntegriCloud