diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-03-14 01:39:27 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-03-14 01:39:27 +0000 |
commit | ce1a9d7d9ebf3bc87c544d06542a3d30f604dca5 (patch) | |
tree | 7e1c263dc7b02602aa730654465bca583883d9dd /arch/mips64/sgi-ip27/ip27-irq.c | |
parent | f8dfaf80bdc1a29fba2da8e1abc61a30da7ba6ab (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.c | 14 |
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. */ } |