summaryrefslogtreecommitdiffstats
path: root/arch/mips64/sgi-ip27/ip27-irq.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-03-14 01:39:27 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-03-14 01:39:27 +0000
commitce1a9d7d9ebf3bc87c544d06542a3d30f604dca5 (patch)
tree7e1c263dc7b02602aa730654465bca583883d9dd /arch/mips64/sgi-ip27/ip27-irq.c
parentf8dfaf80bdc1a29fba2da8e1abc61a30da7ba6ab (diff)
MIPS64 SMP, compile only edition. Don't use yet ...
Diffstat (limited to 'arch/mips64/sgi-ip27/ip27-irq.c')
-rw-r--r--arch/mips64/sgi-ip27/ip27-irq.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/mips64/sgi-ip27/ip27-irq.c b/arch/mips64/sgi-ip27/ip27-irq.c
index d7ddb8682..ae096d28f 100644
--- a/arch/mips64/sgi-ip27/ip27-irq.c
+++ b/arch/mips64/sgi-ip27/ip27-irq.c
@@ -1,4 +1,4 @@
-/* $Id: ip27-irq.c,v 1.7 2000/03/02 02:36:50 ralf Exp $
+/* $Id: ip27-irq.c,v 1.8 2000/03/07 15:45:29 ralf Exp $
*
* ip27-irq.c: Highlevel interrupt handling for IP27 architecture.
*
@@ -8,7 +8,6 @@
#include <linux/init.h>
#include <linux/errno.h>
-#include <linux/kernel_stat.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/types.h>
@@ -17,8 +16,8 @@
#include <linux/timex.h>
#include <linux/malloc.h>
#include <linux/random.h>
-#include <linux/smp.h>
#include <linux/smp_lock.h>
+#include <linux/kernel_stat.h>
#include <asm/bitops.h>
#include <asm/bootinfo.h>
@@ -52,6 +51,11 @@
irq_cpustat_t irq_stat [NR_CPUS];
+#ifdef CONFIG_SMP
+int global_irq_holder = NO_PROC_ID;
+spinlock_t global_irq_lock;
+#endif
+
extern asmlinkage void ip27_irq(void);
int (*irq_cannonicalize)(int irq);
@@ -105,7 +109,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
int do_random, cpu;
cpu = smp_processor_id();
- irq_enter(cpu);
+ irq_enter(cpu, irq);
kstat.irqs[cpu][irq]++;
action = *(irq + irq_action);
@@ -123,7 +127,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
add_interrupt_randomness(irq);
__cli();
}
- irq_exit(cpu);
+ irq_exit(cpu, irq);
/* unmasking and bottom half handling is done magically for us. */
}