diff options
-rw-r--r-- | arch/i386/mach-voyager/voyager_basic.c | 6 | ||||
-rw-r--r-- | arch/i386/mach-voyager/voyager_smp.c | 10 | ||||
-rw-r--r-- | include/asm-i386/vic.h | 2 |
3 files changed, 8 insertions, 10 deletions
diff --git a/arch/i386/mach-voyager/voyager_basic.c b/arch/i386/mach-voyager/voyager_basic.c index c639d30d8bdc..8fe7e4593d5f 100644 --- a/arch/i386/mach-voyager/voyager_basic.c +++ b/arch/i386/mach-voyager/voyager_basic.c | |||
@@ -44,7 +44,7 @@ struct voyager_SUS *voyager_SUS = NULL; | |||
44 | 44 | ||
45 | #ifdef CONFIG_SMP | 45 | #ifdef CONFIG_SMP |
46 | static void | 46 | static void |
47 | voyager_dump(int dummy1, struct pt_regs *dummy2, struct tty_struct *dummy3) | 47 | voyager_dump(int dummy1, struct tty_struct *dummy3) |
48 | { | 48 | { |
49 | /* get here via a sysrq */ | 49 | /* get here via a sysrq */ |
50 | voyager_smp_dump(); | 50 | voyager_smp_dump(); |
@@ -166,7 +166,7 @@ voyager_memory_detect(int region, __u32 *start, __u32 *length) | |||
166 | * off the timer tick to the SMP code, since the VIC doesn't have an | 166 | * off the timer tick to the SMP code, since the VIC doesn't have an |
167 | * internal timer (The QIC does, but that's another story). */ | 167 | * internal timer (The QIC does, but that's another story). */ |
168 | void | 168 | void |
169 | voyager_timer_interrupt(struct pt_regs *regs) | 169 | voyager_timer_interrupt(void) |
170 | { | 170 | { |
171 | if((jiffies & 0x3ff) == 0) { | 171 | if((jiffies & 0x3ff) == 0) { |
172 | 172 | ||
@@ -202,7 +202,7 @@ voyager_timer_interrupt(struct pt_regs *regs) | |||
202 | } | 202 | } |
203 | } | 203 | } |
204 | #ifdef CONFIG_SMP | 204 | #ifdef CONFIG_SMP |
205 | smp_vic_timer_interrupt(regs); | 205 | smp_vic_timer_interrupt(); |
206 | #endif | 206 | #endif |
207 | } | 207 | } |
208 | 208 | ||
diff --git a/arch/i386/mach-voyager/voyager_smp.c b/arch/i386/mach-voyager/voyager_smp.c index 2e73f353f165..f3fea2ad50fe 100644 --- a/arch/i386/mach-voyager/voyager_smp.c +++ b/arch/i386/mach-voyager/voyager_smp.c | |||
@@ -1141,9 +1141,9 @@ smp_apic_timer_interrupt(struct pt_regs *regs) | |||
1141 | fastcall void | 1141 | fastcall void |
1142 | smp_qic_timer_interrupt(struct pt_regs *regs) | 1142 | smp_qic_timer_interrupt(struct pt_regs *regs) |
1143 | { | 1143 | { |
1144 | ack_QIC_CPI(QIC_TIMER_CPI); | ||
1145 | struct pt_regs *old_regs = set_irq_regs(regs); | 1144 | struct pt_regs *old_regs = set_irq_regs(regs); |
1146 | wrapper_smp_local_timer_interrupt(void); | 1145 | ack_QIC_CPI(QIC_TIMER_CPI); |
1146 | wrapper_smp_local_timer_interrupt(); | ||
1147 | set_irq_regs(old_regs); | 1147 | set_irq_regs(old_regs); |
1148 | } | 1148 | } |
1149 | 1149 | ||
@@ -1267,12 +1267,10 @@ smp_send_stop(void) | |||
1267 | /* this function is triggered in time.c when a clock tick fires | 1267 | /* this function is triggered in time.c when a clock tick fires |
1268 | * we need to re-broadcast the tick to all CPUs */ | 1268 | * we need to re-broadcast the tick to all CPUs */ |
1269 | void | 1269 | void |
1270 | smp_vic_timer_interrupt(struct pt_regs *regs) | 1270 | smp_vic_timer_interrupt(void) |
1271 | { | 1271 | { |
1272 | struct pt_regs *old_regs = set_irq_regs(regs); | ||
1273 | send_CPI_allbutself(VIC_TIMER_CPI); | 1272 | send_CPI_allbutself(VIC_TIMER_CPI); |
1274 | smp_local_timer_interrupt(); | 1273 | smp_local_timer_interrupt(); |
1275 | set_irq_regs(old_regs); | ||
1276 | } | 1274 | } |
1277 | 1275 | ||
1278 | /* local (per CPU) timer interrupt. It does both profiling and | 1276 | /* local (per CPU) timer interrupt. It does both profiling and |
@@ -1307,7 +1305,7 @@ smp_local_timer_interrupt(void) | |||
1307 | per_cpu(prof_counter, cpu); | 1305 | per_cpu(prof_counter, cpu); |
1308 | } | 1306 | } |
1309 | 1307 | ||
1310 | update_process_times(user_mode_vm(irq_regs)); | 1308 | update_process_times(user_mode_vm(get_irq_regs())); |
1311 | } | 1309 | } |
1312 | 1310 | ||
1313 | if( ((1<<cpu) & voyager_extended_vic_processors) == 0) | 1311 | if( ((1<<cpu) & voyager_extended_vic_processors) == 0) |
diff --git a/include/asm-i386/vic.h b/include/asm-i386/vic.h index 4abfcfb91eb8..53100f353612 100644 --- a/include/asm-i386/vic.h +++ b/include/asm-i386/vic.h | |||
@@ -58,4 +58,4 @@ static const int VIC_CPI_Registers[] = | |||
58 | 58 | ||
59 | #define VIC_BOOT_INTERRUPT_MASK 0xfe | 59 | #define VIC_BOOT_INTERRUPT_MASK 0xfe |
60 | 60 | ||
61 | extern void smp_vic_timer_interrupt(struct pt_regs *regs); | 61 | extern void smp_vic_timer_interrupt(void); |