blob: eaf518098981cc843e564d3ec1b650f17442256e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* defines for inline arch setup functions */
2#include <asm/voyager.h>
3
4static inline void do_timer_interrupt_hook(struct pt_regs *regs)
5{
6 do_timer(regs);
7#ifndef CONFIG_SMP
Jan Beulichdb753bd2006-03-23 02:59:46 -08008 update_process_times(user_mode_vm(regs));
Linus Torvalds1da177e2005-04-16 15:20:36 -07009#endif
10
11 voyager_timer_interrupt(regs);
12}
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}