summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2007-03-17 17:21:28 +0100
committerRalf Baechle <ralf@linux-mips.org>2007-03-19 21:22:43 +0100
commit8c3644350f4105a9b55fbfc6bbba567b79cdf72a (patch)
tree008ac825d5fd8828e28e13c047f8dcbb1ea75eb3
parent[PATCH] Fix build error due to not including <linux/errno.h> (diff)
downloadlinux-8c3644350f4105a9b55fbfc6bbba567b79cdf72a.tar.xz
linux-8c3644350f4105a9b55fbfc6bbba567b79cdf72a.zip
[MIPS] VI: TRACE_IRQS_OFF clobbers $v0, so save & restore around call.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/kernel/genex.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S
index aacd4a005c5f..c921cb7c1956 100644
--- a/arch/mips/kernel/genex.S
+++ b/arch/mips/kernel/genex.S
@@ -220,7 +220,17 @@ NESTED(except_vec_vi_handler, 0, sp)
_ehb
#endif /* CONFIG_MIPS_MT_SMTC */
CLI
+#ifdef CONFIG_TRACE_IRQFLAGS
+ move s0, v0
+#ifdef CONFIG_MIPS_MT_SMTC
+ move s1, a0
+#endif
TRACE_IRQS_OFF
+#ifdef CONFIG_MIPS_MT_SMTC
+ move a0, s1
+#endif
+ move v0, s0
+#endif
LONG_L s0, TI_REGS($28)
LONG_S sp, TI_REGS($28)