summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-04-08 01:17:02 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-04-08 01:17:02 +0000
commit5d8a43e3a70906917ac716df45b627cdd5e6d91c (patch)
tree064b550a4ac5a54996cbe9864690af11cc9c7bda /arch
parenta19260ea1369c00fe2bd7063c06938bae5c98df2 (diff)
Make it so that clock interrupts can be received on all cpus on the node.
Diffstat (limited to 'arch')
-rw-r--r--arch/mips64/sgi-ip27/ip27-timer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/mips64/sgi-ip27/ip27-timer.c b/arch/mips64/sgi-ip27/ip27-timer.c
index f4cda8c99..d5a1ed058 100644
--- a/arch/mips64/sgi-ip27/ip27-timer.c
+++ b/arch/mips64/sgi-ip27/ip27-timer.c
@@ -90,15 +90,16 @@ static int set_rtc_mmss(unsigned long nowtime)
void rt_timer_interrupt(struct pt_regs *regs)
{
int cpu = smp_processor_id();
+ int cpuA = ((cputoslice(smp_processor_id())) == 0);
int user = user_mode(regs);
int irq = 7; /* XXX Assign number */
write_lock(&xtime_lock);
again:
- LOCAL_HUB_S(PI_RT_PEND_A, 0); /* Ack */
+ LOCAL_HUB_S(cpuA ? PI_RT_PEND_A : PI_RT_PEND_B, 0); /* Ack */
ct_cur += CYCLES_PER_JIFFY;
- LOCAL_HUB_S(PI_RT_COMPARE_A, ct_cur);
+ LOCAL_HUB_S(cpuA ? PI_RT_COMPARE_A : PI_RT_COMPARE_B, ct_cur);
if (LOCAL_HUB_L(PI_RT_COUNT) >= ct_cur)
goto again;