]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Use the calibrated/adjustable i8254 frequency `timer_freq' instead of
authorSøren Schmidt <sos@FreeBSD.org>
Sat, 26 Oct 1996 20:16:58 +0000 (20:16 +0000)
committerSøren Schmidt <sos@FreeBSD.org>
Sat, 26 Oct 1996 20:16:58 +0000 (20:16 +0000)
commit66e7fce7acf618664c2c234de061616bb4ce1c5a
tree2045045441df83cd37f57de6d85a091e92979c1f
parent90a720bc0dc5d704e31a4f51f50886e11cc343b6
Use the calibrated/adjustable i8254 frequency `timer_freq' instead of
TIMER_FREQ.

Fixed missing splx() in scrn_timer().  The bug was harmless because of the
undocumented behaviour that the ipl is automatically restored for timeout
functions (see softclock()).  Perhaps we should depend on this behaviour.

Fixed the ddb fix in rev.1.176.  The in_debugger flag was no use because
it only works when the debugger is entered via the keyboard hotkey.  The
debugger may be entered for breakpoints and traps, and the console putc
routine has no way of knowing when it was, so the console putc routine
must (almost?) always remove the cursor image.

Not fixed: console switching in ddb doesn't work (ISTR it working), and
console 0 shouldn't be switched to for the debugger hotkey unless console
0 is /dev/console.

Fixed side effects from calling add_keyboard_randomness() in the console
getc routine by not calling it.  add_keyboard_randomness() currently
always reenables interrupts on 386's and 486's.  This is very bad if the
console getc routine is called from the debugger and the debugger was
entered with interrupts disabled.

Fixed preservation of initial screen and now-bogus comment about it.  It
was broken by setting the initial scr_buf to `buffer' instead of Crtat.
`buffer' was full of nulls and the first scroll cleared everything above
the things written through syscons.

Submitted by: bruce (bde@freebsd.org)
sys/dev/syscons/syscons.c
sys/i386/isa/syscons.c
sys/isa/syscons.c