PDP10: Recompute tmxr delay factor regularly
This will not change much, but it may be useful for sane idling depending on the way the running OS actually uses the interval timer for clock ticks. Some discussion about this in #713
This commit is contained in:
parent
61bdbd5d93
commit
eadfeffdf3
1 changed files with 5 additions and 1 deletions
|
@ -391,7 +391,11 @@ else {
|
|||
sim_activate_after (uptr, tick_in_usecs); /* reactivate unit */
|
||||
tmr_poll = sim_activate_time (uptr) - 1;
|
||||
}
|
||||
tmxr_poll = (int32)(sim_timer_inst_per_sec () / clk_tps);/* set mux poll */
|
||||
|
||||
/* tmxr is polled every tim_mult clks. Compute the divisor matching the target. */
|
||||
tim_mult = (clk_tps <= TIM_TMXR_FREQ) ? 1 : (clk_tps / TIM_TMXR_FREQ) ;
|
||||
|
||||
tmxr_poll = tim_mult * (int32)(sim_timer_inst_per_sec () / clk_tps);/* set mux poll */
|
||||
tim_incr_base (tim_base, tim_period); /* incr time base based on period of expired interval */
|
||||
tim_period = tim_new_period; /* If interval has changed, update period */
|
||||
apr_flg = apr_flg | APRF_TIM; /* request interrupt */
|
||||
|
|
Loading…
Add table
Reference in a new issue