diff options
author | James Bottomley <jejb@parisc-linux.org> | 2005-10-21 22:54:38 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@parisc-linux.org> | 2005-10-21 22:54:38 -0400 |
commit | dd0fd51dc1585941c2edccdb40e5f11ea3a64496 (patch) | |
tree | 4da7851b8972bb7251789b3862642aca8274aa07 /arch/parisc | |
parent | 63af965d2bc8d8c5d4c5949b8d3dbdc3c7b7d97a (diff) |
[PARISC] Remove the spurious do_softirq calls from entry.S
remove the spurious do_softirq calls from entry.S
With these in we were calling do_softirq twice; plus the calls in
entry.S took no account of nesting.
Signed-off-by: James Bottomley <jejb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc')
-rw-r--r-- | arch/parisc/kernel/entry.S | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S index 166df5bab769..c7e66ee5b083 100644 --- a/arch/parisc/kernel/entry.S +++ b/arch/parisc/kernel/entry.S | |||
@@ -970,9 +970,6 @@ intr_return: | |||
970 | add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */ | 970 | add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */ |
971 | #endif /* CONFIG_SMP */ | 971 | #endif /* CONFIG_SMP */ |
972 | 972 | ||
973 | LDREG IRQSTAT_SIRQ_PEND(%r19),%r20 /* hardirq.h: unsigned long */ | ||
974 | cmpib,<>,n 0,%r20,intr_do_softirq /* forward */ | ||
975 | |||
976 | intr_check_resched: | 973 | intr_check_resched: |
977 | 974 | ||
978 | /* check for reschedule */ | 975 | /* check for reschedule */ |
@@ -1017,17 +1014,6 @@ intr_restore: | |||
1017 | nop | 1014 | nop |
1018 | nop | 1015 | nop |
1019 | 1016 | ||
1020 | .import do_softirq,code | ||
1021 | intr_do_softirq: | ||
1022 | BL do_softirq,%r2 | ||
1023 | #ifdef CONFIG_64BIT | ||
1024 | ldo -16(%r30),%r29 /* Reference param save area */ | ||
1025 | #else | ||
1026 | nop | ||
1027 | #endif | ||
1028 | b intr_check_resched | ||
1029 | nop | ||
1030 | |||
1031 | .import schedule,code | 1017 | .import schedule,code |
1032 | intr_do_resched: | 1018 | intr_do_resched: |
1033 | /* Only do reschedule if we are returning to user space */ | 1019 | /* Only do reschedule if we are returning to user space */ |
@@ -2096,9 +2082,6 @@ syscall_check_bh: | |||
2096 | add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */ | 2082 | add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */ |
2097 | #endif /* CONFIG_SMP */ | 2083 | #endif /* CONFIG_SMP */ |
2098 | 2084 | ||
2099 | LDREG IRQSTAT_SIRQ_PEND(%r19),%r20 /* hardirq.h: unsigned long */ | ||
2100 | cmpib,<>,n 0,%r20,syscall_do_softirq /* forward */ | ||
2101 | |||
2102 | syscall_check_resched: | 2085 | syscall_check_resched: |
2103 | 2086 | ||
2104 | /* check for reschedule */ | 2087 | /* check for reschedule */ |
@@ -2236,16 +2219,6 @@ pt_regs_ok: | |||
2236 | b intr_restore | 2219 | b intr_restore |
2237 | nop | 2220 | nop |
2238 | 2221 | ||
2239 | .import do_softirq,code | ||
2240 | syscall_do_softirq: | ||
2241 | BL do_softirq,%r2 | ||
2242 | nop | ||
2243 | /* NOTE: We enable I-bit incase we schedule later, | ||
2244 | * and we might be going back to userspace if we were | ||
2245 | * traced. */ | ||
2246 | b syscall_check_resched | ||
2247 | ssm PSW_SM_I, %r0 /* do_softirq returns with I bit off */ | ||
2248 | |||
2249 | .import schedule,code | 2222 | .import schedule,code |
2250 | syscall_do_resched: | 2223 | syscall_do_resched: |
2251 | BL schedule,%r2 | 2224 | BL schedule,%r2 |