diff options
author | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-04-08 01:17:02 +0000 |
---|---|---|
committer | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-04-08 01:17:02 +0000 |
commit | 5d8a43e3a70906917ac716df45b627cdd5e6d91c (patch) | |
tree | 064b550a4ac5a54996cbe9864690af11cc9c7bda /arch | |
parent | a19260ea1369c00fe2bd7063c06938bae5c98df2 (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.c | 5 |
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; |