callout(9): Remove some leftover APM BIOS support
This code is obsolete since r366546. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27267
This commit is contained in:
parent
1def0a6257
commit
0c56925bc2
@ -1339,71 +1339,6 @@ _callout_init_lock(struct callout *c, struct lock_object *lock, int flags)
|
||||
c->c_cpu = cc_default_cpu;
|
||||
}
|
||||
|
||||
#ifdef APM_FIXUP_CALLTODO
|
||||
/*
|
||||
* Adjust the kernel calltodo timeout list. This routine is used after
|
||||
* an APM resume to recalculate the calltodo timer list values with the
|
||||
* number of hz's we have been sleeping. The next hardclock() will detect
|
||||
* that there are fired timers and run softclock() to execute them.
|
||||
*
|
||||
* Please note, I have not done an exhaustive analysis of what code this
|
||||
* might break. I am motivated to have my select()'s and alarm()'s that
|
||||
* have expired during suspend firing upon resume so that the applications
|
||||
* which set the timer can do the maintanence the timer was for as close
|
||||
* as possible to the originally intended time. Testing this code for a
|
||||
* week showed that resuming from a suspend resulted in 22 to 25 timers
|
||||
* firing, which seemed independent on whether the suspend was 2 hours or
|
||||
* 2 days. Your milage may vary. - Ken Key <key@cs.utk.edu>
|
||||
*/
|
||||
void
|
||||
adjust_timeout_calltodo(struct timeval *time_change)
|
||||
{
|
||||
struct callout *p;
|
||||
unsigned long delta_ticks;
|
||||
|
||||
/*
|
||||
* How many ticks were we asleep?
|
||||
* (stolen from tvtohz()).
|
||||
*/
|
||||
|
||||
/* Don't do anything */
|
||||
if (time_change->tv_sec < 0)
|
||||
return;
|
||||
else if (time_change->tv_sec <= LONG_MAX / 1000000)
|
||||
delta_ticks = howmany(time_change->tv_sec * 1000000 +
|
||||
time_change->tv_usec, tick) + 1;
|
||||
else if (time_change->tv_sec <= LONG_MAX / hz)
|
||||
delta_ticks = time_change->tv_sec * hz +
|
||||
howmany(time_change->tv_usec, tick) + 1;
|
||||
else
|
||||
delta_ticks = LONG_MAX;
|
||||
|
||||
if (delta_ticks > INT_MAX)
|
||||
delta_ticks = INT_MAX;
|
||||
|
||||
/*
|
||||
* Now rip through the timer calltodo list looking for timers
|
||||
* to expire.
|
||||
*/
|
||||
|
||||
/* don't collide with softclock() */
|
||||
CC_LOCK(cc);
|
||||
for (p = calltodo.c_next; p != NULL; p = p->c_next) {
|
||||
p->c_time -= delta_ticks;
|
||||
|
||||
/* Break if the timer had more time on it than delta_ticks */
|
||||
if (p->c_time > 0)
|
||||
break;
|
||||
|
||||
/* take back the ticks the timer didn't use (p->c_time <= 0) */
|
||||
delta_ticks = -p->c_time;
|
||||
}
|
||||
CC_UNLOCK(cc);
|
||||
|
||||
return;
|
||||
}
|
||||
#endif /* APM_FIXUP_CALLTODO */
|
||||
|
||||
static int
|
||||
flssbt(sbintime_t sbt)
|
||||
{
|
||||
|
@ -482,11 +482,6 @@ extern cpu_tick_f *cpu_ticks;
|
||||
uint64_t cpu_tickrate(void);
|
||||
uint64_t cputick2usec(uint64_t tick);
|
||||
|
||||
#ifdef APM_FIXUP_CALLTODO
|
||||
struct timeval;
|
||||
void adjust_timeout_calltodo(struct timeval *time_change);
|
||||
#endif /* APM_FIXUP_CALLTODO */
|
||||
|
||||
#include <sys/libkern.h>
|
||||
|
||||
/* Initialize the world */
|
||||
|
Loading…
x
Reference in New Issue
Block a user