freebsd-nq/sys
Kazutaka YOKOTA 870521063a 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
..
alpha Grr. Remove not-ready LDT modification fluff that also crept in with 1997-06-02 06:45:17 +00:00
amd64 Oops, added popfl after trynexgen label. 1997-07-15 11:07:32 +00:00
compat/linux Make this thing actually compile. 1997-06-02 10:43:41 +00:00
compile
conf Added CPU_BLUELIGHTNING_FPU_OP_CACHE and CPU_BLUELIGHTNING_3X. 1997-07-14 12:33:06 +00:00
ddb Some staticized variables were still declared to be extern. 1997-06-30 23:54:50 +00:00
dev Screen saver related fixes. 1997-07-15 14:43:27 +00:00
fs More comment cleanup. 1997-06-26 17:12:59 +00:00
geom Removed unused #includes. 1997-06-14 13:56:12 +00:00
gnu Fixed comment about i_spare. 1997-07-13 15:40:31 +00:00
i386 Screen saver related fixes. 1997-07-15 14:43:27 +00:00
isa Screen saver related fixes. 1997-07-15 14:43:27 +00:00
isofs/cd9660 Hide the kernel-only stuff inside #ifdef KERNEL. 1997-05-07 13:23:04 +00:00
kern Minor cleanup. 1997-07-15 02:46:37 +00:00
libkern Style optimization in newly added POSIX range []] conformance, redo 1997-06-07 01:33:10 +00:00
miscfs two tiny typo's 1997-07-14 04:53:52 +00:00
modules Take the OS release string from the kernel variable `osrelease' 1997-06-24 12:43:18 +00:00
msdosfs Remove redundant check for vp == dvp (done in VFS before calling). 1997-05-17 18:32:53 +00:00
net Don't add an item to the multicast linked list if it's already 1997-07-07 17:36:06 +00:00
netatalk Actually POINT to the appletalk usrreqs struct. 1997-06-02 20:07:33 +00:00
netinet Fix a bug (apparently very old) that can cause a TCP connection to 1997-07-01 05:42:16 +00:00
netipx Don't depend on gcc's feature of permitting labels that aren't followed 1997-07-01 00:22:51 +00:00
netkey This is the `netkey' kernel key-management service (the PF_KEY analogue 1996-06-14 17:22:18 +00:00
netnatm import Chuck Cranor's ATM driver 1997-05-09 08:04:59 +00:00
netns Remove unneeded member nsp_head from struct nspcb. 1997-04-14 18:26:51 +00:00
nfs Fix a condition where nfs_statfs() can precipitate a panic. There is 1997-06-27 19:10:46 +00:00
nfsclient Fix a condition where nfs_statfs() can precipitate a panic. There is 1997-06-27 19:10:46 +00:00
nfsserver Clear nfs_iodwant[myiod] when the nfsiod process exits due to a signal. 1997-06-25 21:07:26 +00:00
pc98 Synchronize with sys/i386/isa/syscons.c revision 1.224. 1997-07-14 12:35:04 +00:00
pccard Make this puppy compile again - add two includes. 1997-06-01 05:04:39 +00:00
pci Don't cast function pointers to (void *). This will cause warnings. 1997-07-01 00:45:45 +00:00
powerpc/include Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
rpc Resolve conflicts. 1997-05-28 04:45:15 +00:00
scsi Don't depend on gcc's feature of permitting labels that aren't followed 1997-07-01 00:22:51 +00:00
sys 32-bit counters aren't large enough for 100+MHz clocks. Use 64-bit 1997-07-13 16:38:39 +00:00
tools Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ufs Always mark st_ctime for update upon successful completion of 1997-07-13 16:26:40 +00:00
vm Don't try upgrading an existing exclusive lock in vm_map_user_pageable. 1997-06-23 21:51:03 +00:00
Makefile Commit a long-forgotten tweak for building tags in /usr/src/sys. 1997-07-13 07:36:20 +00:00