Merged from sys/i386/isa/clock.c revisions 1.172 and 1.173.
This commit is contained in:
+15
-1
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user