summaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-08-08 18:54:49 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-08-08 18:54:49 +0000
commit5514f4babeeb3af00ee0c325e3cda7a562cc3d65 (patch)
treeedd733879cab73e41324a99ca5da7bc154c4196d /arch/sh
parent6a9366db547e958e8c9bf8e1c13bcea6cb2bf393 (diff)
Merge with Linux 2.4.0-test6-pre4.
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/entry.S8
-rw-r--r--arch/sh/kernel/irq.c7
2 files changed, 6 insertions, 9 deletions
diff --git a/arch/sh/kernel/entry.S b/arch/sh/kernel/entry.S
index cbca87e69..450d49824 100644
--- a/arch/sh/kernel/entry.S
+++ b/arch/sh/kernel/entry.S
@@ -462,9 +462,9 @@ syscall_ret:
/* fall through */
ENTRY(ret_from_syscall)
- mov.l __softirq_state, $r0
+ mov.l __irq_stat, $r0 ! softirq_active
mov.l @$r0, $r1
- mov.l @(4,$r0), $r2
+ mov.l @(4,$r0), $r2 ! softirq_mask
tst $r2, $r1
bt ret_with_reschedule
handle_softirq:
@@ -489,8 +489,8 @@ signal_return:
.align 2
__do_signal:
.long SYMBOL_NAME(do_signal)
-__softirq_state:
- .long SYMBOL_NAME(softirq_state)
+__irq_stat:
+ .long SYMBOL_NAME(irq_stat)
__do_softirq:
.long SYMBOL_NAME(do_softirq)
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index 399d435af..a353b0995 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -41,9 +41,6 @@
#include <asm/hd64461.h>
#endif
-unsigned int __local_bh_count[NR_CPUS];
-unsigned int __local_irq_count[NR_CPUS];
-
/*
* Micro-access to controllers is serialized over the whole
* system. We never hold this lock when we call the actual
@@ -183,7 +180,7 @@ void disable_irq(unsigned int irq)
{
disable_irq_nosync(irq);
- if (!__local_irq_count[smp_processor_id()]) {
+ if (!local_irq_count(smp_processor_id())) {
do {
barrier();
} while (irq_desc[irq].status & IRQ_INPROGRESS);
@@ -319,7 +316,7 @@ asmlinkage int do_IRQ(unsigned long r4, unsigned long r5,
#if 0
__sti();
#endif
- if (softirq_state[cpu].active&softirq_state[cpu].mask)
+ if (softirq_active(cpu)&softirq_mask(cpu))
do_softirq();
return 1;
}