sparc: Added function that checks if IRQ is on or off
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
diff --git a/arch/sparc/include/asm/irq.h b/arch/sparc/include/asm/irq.h
index 2faf7a0..5d0f756 100644
--- a/arch/sparc/include/asm/irq.h
+++ b/arch/sparc/include/asm/irq.h
@@ -32,4 +32,7 @@
/* Sets the PIL to oldLevel */
extern void intUnlock(int oldLevel);
+/* Return non-zero if interrupts are currently enabled */
+extern int interrupt_is_enabled(void);
+
#endif
diff --git a/arch/sparc/lib/interrupts.c b/arch/sparc/lib/interrupts.c
index b7c3993..b8f2efb 100644
--- a/arch/sparc/lib/interrupts.c
+++ b/arch/sparc/lib/interrupts.c
@@ -47,6 +47,13 @@
return intLock();
}
+int interrupt_is_enabled(void)
+{
+ if (get_pil() == 15)
+ return 0;
+ return 1;
+}
+
int interrupt_init(void)
{
int ret;