summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/entry.S
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-07-07 14:07:18 +0100
committerRalf Baechle <ralf@linux-mips.org>2006-07-13 21:26:09 +0100
commit192ef366198ce16c0379100565cdc5b7bd68511f (patch)
tree1f4ef0a9ee796fbf970b6f0703aa31ecad584ee1 /arch/mips/kernel/entry.S
parent8d197f3d17d4f43eb7d032491af7fc959cbed4fa (diff)
downloadlinux-192ef366198ce16c0379100565cdc5b7bd68511f.tar.gz
linux-192ef366198ce16c0379100565cdc5b7bd68511f.tar.bz2
linux-192ef366198ce16c0379100565cdc5b7bd68511f.zip
[MIPS] TRACE_IRQFLAGS_SUPPORT support.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/entry.S')
-rw-r--r--arch/mips/kernel/entry.S15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S
index 01e7fa86aa43..766655f35250 100644
--- a/arch/mips/kernel/entry.S
+++ b/arch/mips/kernel/entry.S
@@ -113,6 +113,21 @@ FEXPORT(restore_all) # restore full frame
RESTORE_AT
RESTORE_STATIC
FEXPORT(restore_partial) # restore partial frame
+#ifdef CONFIG_TRACE_IRQFLAGS
+ SAVE_STATIC
+ SAVE_AT
+ SAVE_TEMP
+ LONG_L v0, PT_STATUS(sp)
+ and v0, 1
+ beqz v0, 1f
+ jal trace_hardirqs_on
+ b 2f
+1: jal trace_hardirqs_off
+2:
+ RESTORE_TEMP
+ RESTORE_AT
+ RESTORE_STATIC
+#endif
RESTORE_SOME
RESTORE_SP_AND_RET
.set at