freebsd-skq/sys/dev
yokota 56b7c76d79 Screen saver related fixes.
1. Add new interface, add_scrn_saver()/remove_scrn_saver(), to declare
loading/unloading of a screen saver.  The screen saver calls these
functions to notify syscons of loading/unloading events.

It was possible to load multiple savers each of which will try to
remember the previous saver in a local variable (`old_saver'). The
scheme breaks easily if the user load two savers and unload them in a
wrong order; if the first saver is unloaded first, `old_saver' in the
second saver points to nowhere.

Now only one screen saver is allowed in memory at a time.

Soeren will be looking into this issue again later.  syscons is
becoming too heavy.  It's time to cut things down, rather than adding
more...

2. Make scrn_timer() to be the primary caller of the screen saver
(*current_saver)(). scintr(), scioctl() and ansi_put() update
`scrn_time_stamp' to indicate that they want to stop the screen saver.

There are three exceptions, however.

One is remove_scrn_saver() which need to stop the current screen saver
if it is running. To guard against scrn_timer() calling the saver during
this operation, `current_saver' is set to `none_saver' early.

The others are sccngetc() and sccncheckc(); they will unblank the
screen too.  When the kernel enters DDB (via the hot key or a
break point), the screen saver will be stopped by sccngetc().
However, we have a reentrancy problem here. If the system has been in
the middle of the screen saver...

(The screen saver reentrancy problem has always been with sccnputc()
and sccngetc() in the -current source. So, the new code is doing no
worse, I reckon.)

3. Use `mono_time' rather than `time'.

4. Make set_border() work for EGA and CGA in addition to VGA. Do
nothing for MDA.

Changes to the LKM screen saver modules will follow shortly.  YOU NEED
TO RECOMPILE BOTH SCREEN SAVERS AND KERNEL AS OF THESE CHANGES.

Reviewed by: sos and bde
1997-07-15 14:43:27 +00:00
..
advansys Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
aic7xxx Modify my copyright notice to allow the sequencer to be used with GPLed 1997-06-27 19:38:56 +00:00
ar Major overhaul of the SyncPPP layer. Basically, this comprises now a 1997-05-19 22:03:09 +00:00
bktr Added 2 new defines: 1997-06-14 19:10:53 +00:00
ccd Removed unused #includes. 1997-06-14 13:56:12 +00:00
cy Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
de Initial set of patches to get it to compile on >= 3.0. Most of the 1997-06-22 09:48:42 +00:00
dgb Don't depend on gcc's feature of permitting labels that aren't followed 1997-07-01 00:22:51 +00:00
ed Rearrange pci network card identification for easier additions. 1997-04-18 04:44:37 +00:00
eisa Various stylistic improvements regarding num_eisa_slots & co.: 1997-03-13 18:04:05 +00:00
en Removed unused #includes. 1997-06-14 13:56:12 +00:00
ep Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
ex Don't depend on gcc's feature of permitting labels that aren't followed 1997-07-01 00:22:51 +00:00
fdc Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
fe Don't include <sys/ioctl.h> in the kernel. Stage 2: include 1997-03-24 11:33:46 +00:00
fxp Minor optimization in fxp_intr. 1997-06-16 04:45:57 +00:00
ic Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ie KNF cleanup. 1997-06-27 19:36:27 +00:00
joy Make MOD_* macros almost consistent: 1997-04-06 11:14:13 +00:00
kbd Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
lnc Enables lnc driver on PC-98 to support NEC SV-98/2-B06 PCI card. 1997-04-08 10:33:24 +00:00
mcd on second thoughts, it doesn't even need <machine/ipl.h> either. 1997-06-01 16:03:13 +00:00
mse Don't include <sys/ioctl.h> in the kernel. Stage 1: don't include 1997-03-24 11:25:10 +00:00
pci Modified to use renamed get_pci_apic_irq() -> pci_apic_pin() function. 1997-06-25 20:56:29 +00:00
pdq Removed unused #includes. 1997-06-14 13:56:12 +00:00
ppbus Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
rc Don't depend on gcc's feature of permitting labels that aren't followed 1997-07-01 00:22:51 +00:00
scd Add the D_DISK flag to the cdevsw structs of various CD-ROM drivers. 1997-05-10 12:13:17 +00:00
si Fixed the type of timeout functions and removed casts that hid the 1997-04-20 15:36:12 +00:00
sio Bring back CONSPEED as a last-ditch default if you can't change the speed 1997-06-04 16:25:15 +00:00
snp Don't include <sys/ioctl.h> in the kernel. Stage 3: include 1997-03-24 11:37:53 +00:00
speaker Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
sr Major overhaul of the SyncPPP layer. Basically, this comprises now a 1997-05-19 22:03:09 +00:00
syscons Screen saver related fixes. 1997-07-15 14:43:27 +00:00
vn Removed unused #includes. 1997-06-14 13:56:12 +00:00
vx Don't cast function pointers to (void *). This will cause warnings. 1997-07-01 00:45:45 +00:00
wl Fixed the type of a timeout function and removed casts that hid the 1997-06-14 14:54:55 +00:00