Merged from sys/i386/isa/clock.c revisions 1.172 and 1.173.

This commit is contained in:
KATO Takenori
2001-05-02 13:51:49 +00:00
parent 281238b184
commit 3520a2a0e2
3 changed files with 45 additions and 3 deletions
+15 -1
View File
@@ -236,6 +236,10 @@ clkintr(struct clockframe frame)
mtx_unlock_spin(&clock_lock);
}
timer_func(&frame);
#ifdef SMP
if (timer_func == hardclock)
forward_hardclock();
#endif
switch (timer0_state) {
case RELEASED:
@@ -246,6 +250,9 @@ clkintr(struct clockframe frame)
>= hardclock_max_count) {
timer0_prescaler_count -= hardclock_max_count;
hardclock(&frame);
#ifdef SMP
forward_hardclock();
#endif
}
break;
@@ -278,6 +285,9 @@ clkintr(struct clockframe frame)
timer_func = hardclock;
timer0_state = RELEASED;
hardclock(&frame);
#ifdef SMP
forward_hardclock();
#endif
}
break;
}
@@ -435,8 +445,12 @@ release_timer2()
static void
rtcintr(struct clockframe frame)
{
while (rtcin(RTC_INTR) & RTCIR_PERIOD)
while (rtcin(RTC_INTR) & RTCIR_PERIOD) {
statclock(&frame);
#ifdef SMP
forward_statclock();
#endif
}
}
#include "opt_ddb.h"
+15 -1
View File
@@ -236,6 +236,10 @@ clkintr(struct clockframe frame)
mtx_unlock_spin(&clock_lock);
}
timer_func(&frame);
#ifdef SMP
if (timer_func == hardclock)
forward_hardclock();
#endif
switch (timer0_state) {
case RELEASED:
@@ -246,6 +250,9 @@ clkintr(struct clockframe frame)
>= hardclock_max_count) {
timer0_prescaler_count -= hardclock_max_count;
hardclock(&frame);
#ifdef SMP
forward_hardclock();
#endif
}
break;
@@ -278,6 +285,9 @@ clkintr(struct clockframe frame)
timer_func = hardclock;
timer0_state = RELEASED;
hardclock(&frame);
#ifdef SMP
forward_hardclock();
#endif
}
break;
}
@@ -435,8 +445,12 @@ release_timer2()
static void
rtcintr(struct clockframe frame)
{
while (rtcin(RTC_INTR) & RTCIR_PERIOD)
while (rtcin(RTC_INTR) & RTCIR_PERIOD) {
statclock(&frame);
#ifdef SMP
forward_statclock();
#endif
}
}
#include "opt_ddb.h"
+15 -1
View File
@@ -236,6 +236,10 @@ clkintr(struct clockframe frame)
mtx_unlock_spin(&clock_lock);
}
timer_func(&frame);
#ifdef SMP
if (timer_func == hardclock)
forward_hardclock();
#endif
switch (timer0_state) {
case RELEASED:
@@ -246,6 +250,9 @@ clkintr(struct clockframe frame)
>= hardclock_max_count) {
timer0_prescaler_count -= hardclock_max_count;
hardclock(&frame);
#ifdef SMP
forward_hardclock();
#endif
}
break;
@@ -278,6 +285,9 @@ clkintr(struct clockframe frame)
timer_func = hardclock;
timer0_state = RELEASED;
hardclock(&frame);
#ifdef SMP
forward_hardclock();
#endif
}
break;
}
@@ -435,8 +445,12 @@ release_timer2()
static void
rtcintr(struct clockframe frame)
{
while (rtcin(RTC_INTR) & RTCIR_PERIOD)
while (rtcin(RTC_INTR) & RTCIR_PERIOD) {
statclock(&frame);
#ifdef SMP
forward_statclock();
#endif
}
}
#include "opt_ddb.h"