|
@@ -1,5 +1,4 @@
|
|
|
-/* $Id: time.c,v 1.5 2004/09/29 06:12:46 starvik Exp $
|
|
|
- *
|
|
|
+/*
|
|
|
* linux/arch/cris/arch-v10/kernel/time.c
|
|
|
*
|
|
|
* Copyright (C) 1991, 1992, 1995 Linus Torvalds
|
|
@@ -20,6 +19,7 @@
|
|
|
#include <asm/io.h>
|
|
|
#include <asm/delay.h>
|
|
|
#include <asm/rtc.h>
|
|
|
+#include <asm/irq_regs.h>
|
|
|
|
|
|
/* define this if you need to use print_timestamp */
|
|
|
/* it will make jiffies at 96 hz instead of 100 hz though */
|
|
@@ -201,8 +201,9 @@ static long last_rtc_update = 0;
|
|
|
extern void cris_do_profile(struct pt_regs *regs);
|
|
|
|
|
|
static inline irqreturn_t
|
|
|
-timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
|
|
|
+timer_interrupt(int irq, void *dev_id)
|
|
|
{
|
|
|
+ struct pt_regs *regs = get_irq_regs();
|
|
|
/* acknowledge the timer irq */
|
|
|
|
|
|
#ifdef USE_CASCADE_TIMERS
|
|
@@ -221,9 +222,11 @@ timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
|
|
|
#endif
|
|
|
|
|
|
/* reset watchdog otherwise it resets us! */
|
|
|
-
|
|
|
reset_watchdog();
|
|
|
|
|
|
+ /* Update statistics. */
|
|
|
+ update_process_times(user_mode(regs));
|
|
|
+
|
|
|
/* call the real timer interrupt handler */
|
|
|
|
|
|
do_timer(1);
|