blob: 04e69c104a74616fa18b3e926a31682a520b9cf2 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* defines for inline arch setup functions */
2#include <asm/voyager.h>
3
David Howells7d12e782006-10-05 14:55:46 +01004static inline void do_timer_interrupt_hook(void)
Linus Torvalds1da177e2005-04-16 15:20:36 -07005{
Atsushi Nemoto3171a032006-09-29 02:00:32 -07006 do_timer(1);
Linus Torvalds1da177e2005-04-16 15:20:36 -07007#ifndef CONFIG_SMP
David Howells7d12e782006-10-05 14:55:46 +01008 update_process_times(user_mode_vm(irq_regs));
Linus Torvalds1da177e2005-04-16 15:20:36 -07009#endif
10
David Howells7d12e782006-10-05 14:55:46 +010011 voyager_timer_interrupt();
Linus Torvalds1da177e2005-04-16 15:20:36 -070012}
13
14static inline int do_timer_overflow(int count)
15{
16 /* can't read the ISR, just assume 1 tick
17 overflow */
18 if(count > LATCH || count < 0) {
19 printk(KERN_ERR "VOYAGER PROBLEM: count is %d, latch is %d\n", count, LATCH);
20 count = LATCH;
21 }
22 count -= LATCH;
23
24 return count;
25}