summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons
Commit message (Collapse)AuthorAgeFilesLines
* The first stage of console driver reorganization: activate newyokota1999-01-1113-1312/+1055
| | | | | | | | | | | | | keyboard and video card drivers. Because of the changes, you are required to update your kernel configuration file now! The files in sys/dev/syscons are still i386-specific (but less so than before), and won't compile for alpha and PC98 yet. syscons still directly accesses the video card registers here and there; this will be rectified in the later stages.
* Remove a hard-coded table of kernel console I/O functions exportedyokota1999-01-071-6/+14
| | | | | | | | | | from sc, vt and sio drivers. Use instead a linker_set to collect them. Staticize ??cngetc(), ??cnputc(), etc functions in sc and vt drivers. We must still have siocngetc() and siocnputc() as globals because they are directly referred to by i386-gdbstub.c :-( Oked by: bde
* Use M_VGA_VG320 if M_VESA_CG800x600 is not available. It looks ugly indes1999-01-011-23/+31
| | | | | | low-res, but it works... Submitted by: Ben Smithurst <ben@scientia.demon.co.uk>
* Here's one for the terminally melancholic amongst us.des1998-12-311-0/+136
|
* Compile without warnings.des1998-12-311-4/+4
|
* Make the VESA KLD module work!yokota1998-12-301-3/+3
|
* One more for the road: Chuck the friendly floating daemon. Requiresdes1998-12-282-0/+511
| | | | VESA_800x600 to run.
* Save the palette in case syscons doesn't restore it properly.des1998-12-281-3/+6
| | | | Fix a minor overflow.
* Finally give FreeBSD a graphical screensaver. It isn't much, but it works,des1998-12-271-0/+141
| | | | | | | and can serve as a template for further efforts. Consider this my (belated) Christmas present to the Project :) Requested by: jkh
* The "easy" fixes for compiling the kernel -Wunused: remove unreferenced staticarchie1998-12-072-8/+4
| | | | and local variables, goto labels, and functions declared but not defined.
* * Fix a couple of places in the device pager where an address wasdfr1998-11-081-2/+2
| | | | | | | | | | | truncated to 32 bits. * Change the calling convention of the device mmap entry point to pass a vm_offset_t instead of an int for the offset allowing devices with a larger memory map than (1<<32) to be supported on the alpha (/dev/mem is one such). These changes are required to allow the X server to mmap the various I/O regions used for device port and memory access on the alpha.
* Simple update to make these work as kld and preload modules.peter1998-11-046-84/+34
|
* Don't update the screen while the cursor shape is being changedyokota1998-11-031-1/+5
| | | | | by the user-land program. PR: i386/8344
* Initialize isa_devtab entries for interrupt handlers in individualbde1998-10-221-2/+4
| | | | | | | device drivers, not in ioconf.c. Use a different hack in isa_device.h so that a new config(8) is not required yet. pc98 parts approved by: kato
* Restore static of sc_flags.ache1998-10-011-2/+3
| | | | Restore set_destructive_cursor prototype.
* Yet another round of fixes for the VESA support code.yokota1998-10-014-21/+9
| | | | | | | | | | | | | | - Express various sizes in bytes, rather than Kbytes, in the video mode and adapter information structures. - Fill 0 in the linear buffer size field if the linear frame buffer is not available. - Remove SW_VESA_USER ioctl. It is still experimetal and was not meant to be released. - Fix missing cast operator. - Correctly handle pointers returned by the VESA BIOS. The pointers may point to the area either in the BIOS ROM or in the buffer supplied by the caller. - Set the destructive cursor at the right moment.
* Fix destructive cursor shape after text mode switch.ache1998-09-293-34/+37
| | | | This is only for standard modes, I don't check vesa modes yet.
* Cosmetic changes:yokota1998-09-262-23/+21
| | | | | | | | | | | | | | | - there were too many global variables (there still are :-). - the data section was bloated by explicit initializations of static variables to 0 (only fixed the recently changed ones). - WRAPHIST() had silly parentheses around foo->bar. - the comment about inline functions was stale. - the comment about Userconfig presumes too much about the boot environment. - `i' was reused confusingly in scioctl(). - the declaration of `butmap' used a deprecated K&R misfeature. - the initializeation of `butmap' had an unnecessary line break. - `unsigned char' was not consistently (mis)spelled as u_char. - English was poor in a comment in videoio.c. Submitted by: bde
* - Use `u_long cmd' ioctl arg.yokota1998-09-263-17/+9
| | | | | - Fix some external function declaration. Submitted by: bde
* Cosmetic change: adjust copyright notice.yokota1998-09-252-34/+28
|
* Fix and update for VESA BIOS support in syscons.yokota1998-09-234-58/+201
| | | | | | | | | | | | | | | | - Handle pixel (raster text) mode properly. - Clear screen and paint border right. - Paint text attribute (colors). - Fix off-by-one errors. - Add some sanity checks. - Fix some function prototypes. - Add some comment lines. - Define generic text mode numbers so that the user can just give "80x25", "80x60", "132x25"..., rather than "VGA_xxx", to `vidcontrol' to change the current video mode. `vidoio.c' and `vesa.c' will map these numbers to real video mode numbers appropriate and available with the given video hardware. I believe this will be useful to make syscons more portable across archtectures.
* Fix the sreensavers so the work again with the new syscons & friends.sos1998-09-176-33/+45
| | | | Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
* Add VESA support to syscons.sos1998-09-1510-1391/+1222
| | | | | | | | | | | | | | | | | | | | | | | | | Kazu writes: The VESA support code requires vm86 support. Make sure your kernel configuration file has the following line. options "VM86" If you want to statically link the VESA support code to the kernel, add the following option to the kernel configuration file. options "VESA" The vidcontrol command now accepts the following video mode names: VESA_132x25, VESA_132x43, VESA_132x50, VESA_132x60, VESA_800x600 The VESA_800x600 mode is a raster display mode. The 80x25 text will be displayed on the 800x600 screen. Useful for some laptop computers. vidcontrol accepts the new `-i <info>' option, where <info> must be either `adapter' or `mode'. When the `-i adapter' option is given, vidcontrol will print basic information (not much) on the video adapter. When the `-i mode' option is specified, vidcontrol will list video modes which are actually supported by the video adapter. Submitted by: Kazutaka YOKOTA yokota@FreeBSD.ORG
* Make /dev/vga a softlink to /dev/ttyv0 under DEVFS using /etc/rc.devfssos1998-09-141-3/+1
| | | | | Remove the hack from syscons that added a /dev/vga node in DEVFS it broke root acces on ttyv0 because dev_mkdb screwed up.
* Added D_TTY to the cdevswitch flags for all tty drivers. This is requiredbde1998-08-231-9/+11
| | | | | | | | | for the Lite2 fix for always returning EIO in dead_read(). Cleaned up the cdevswitch initializers for all tty drivers. Removed explicit calls to ttsetwater() from all (tty) drivers. ttsetwater() is now called centrally for opens, not just for parameter changes.
* Fix one forgotten instance of \n to \rsos1998-08-181-2/+2
|
* Changed \n to \r in the mouse cutbuffer, this makes pine & Emacssos1998-08-141-4/+4
| | | | | | behave better when using the cut&paste functionality. Submitted by: Barry Bierbauch <pivrnec@vszbr.cz>
* A workaround for screen flicker; eliminate some I/O access to the VGAyokota1998-08-101-1/+17
| | | | | | | | | | | | chip. It has been observed that the problem is most apparent: a) in notebook computers, b) and/or in the systems with C&T video chips. Define the new configuration option SC_BAD_FLICKER in the kernel configuration file to remove outb()/outw() calls in question.
* The daemon, snake and star savers should refuse to load if the currentyokota1998-08-063-3/+12
| | | | | video mode is the VESA mode, because they cannot work properly under the VESA mode support as in the current form.
* 1. Reorganized screen saver related code so that both the LKM screenyokota1998-08-032-146/+300
| | | | | | | | | | | | | | | | | | | | | | | | | saver and splash screen can all work properly with syscons. Note that the splash screen option (SC_SPLASH_SCREEN) does not work yet, as it requires additional code from msmith. - Reorganized the splash screen code to match the latest development in this area. - Delay screen switch in `switch_scr()' until the screen saver is stopped, if one is running, - Start the screen saver immediately, if any, when the `saver' key is pressed. (There will be another commit for `kbdcontrol' to support this keyword in the keymap file.) - Do not always stop the screen saver when mouse-related ioctls are called. Stop it only if the mouse is moved or buttons are clicked; don't stop it if any other mouse ioctls are called. 2. Added provision to write userland screen savers. (Contact me if you are interested in writing one.) - Added CONS_IDLE, CONS_SAVERMODE, and CONS_SAVERSTART ioctls to support userland screen savers. 3. Some code clean-ups.
* - When the system is shut down, switch to the vty0 if possible.yokota1998-08-031-3/+17
| | | | | | - Don't try to ring bell when system is going down. Beacuse the clock code is about to be stopped, the timeout routine won't be called anymore.
* Fix the bug which always reallocated the cut buffer wheneveryokota1998-08-031-7/+18
| | | | | | the screen mode is changed even if another vty has larger size. Reallocate the buffer only when the new screen size is larger than the current cut buffer size.
* Don't accept the blank time value, if it is too big.yokota1998-08-031-2/+4
| | | | PR: bin/6188
* - Add new bell types: "quiet.normal" and "quiet.visual".yokota1998-08-032-4/+12
| | | | | | | | | | | | When bell is of "quiet" types, the console won't ring (or flush) if the ringing process is in a background vty. PR: i386/2853 - Modify the escape sequence 'ESC[=%d;%dB' so that bell pitch and duration are set in hertz and msecs by kbdcontrol(1). There will be a corresponding kbdcontrol patch. PR: bin/6037 Submitted by: Kouichi Hirabayashi (kh@eve.mogami-wire.co.jp)
* Changed %n to %r in devfs name format strings. %n has almost gone away.bde1998-07-151-2/+2
|
* Don't pretend to support ix86's with 16-bit ints by using longsbde1998-07-141-8/+8
| | | | | just to ensure 32-bit variables. Doing so broke i386's with 64-bit longs.
* Add the ability to suspend as well as hibernate to the system. Thisimp1998-07-061-2/+21
| | | | | | | is the kernel part of my commits, the userlevel stuff will be done in a separate commit. Add the ability to suspend as well as hibernate to syscons. Create a new virtual key like hibernate for suspend. Update apm_bios.h to define more apm bios goodies.
* Don't refer to mouse_info.u.datea.[xyz] while processing MOUSE_BUTTON_EVENTyokota1998-06-241-5/+2
| | | | | | ioctl. These fields don't have valid values for this ioctl. PR: kern/6928 Submitted by: Bill Fenner <fenner@parc.xerox.com>
* Add a symlink from /dev/vga to /dev/ttyv0 when using DEVFSsteve1998-06-131-1/+3
| | | | | | | for programs like doscmd. PR: 6920 Submitted by: Luoqi Chen <luoqi@chen.ml.org>
* This commit fixes various 64bit portability problems required fordfr1998-06-071-2/+2
| | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
* s/nanoruntime/nanouptime/gphk1998-05-171-9/+9
| | | | | | s/microruntime/microuptime/g Reviewed by: bde
* Stop the screensaver before switching consoles.des1998-04-171-1/+7
|
* Swapped "should we just return" and "should we stop the screensaver"des1998-04-161-8/+11
| | | | in scrn_timer() to avoid deadlock with graphical screensavers.
* More fixes to deal with fonts:yokota1998-04-041-23/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Set the correct value scp->font_size in init_scp(). - Set scp->font_size to FONT_NONE for VGA_MODEX. Interim fix for a font problem: - A kludge to display the correct font on some video cards. We should be able to load multiple fonts to the VGA plane #2 and switch between fonts by setting the font select register in the VGA sequencer. It appears that the current code isn't functioning as expected on some VGA cards (I have reports on Millenium and Mach64 cards). This is either a bug in syscons or a hardware compatibility problem ;-< This kludge will always load only one font set at a time and always use the font page #0 on the plane #2. It is an interim kludge until we find the exact cause and solution. Small adjustment for mouse cursor handling: - Turn off the mouse cursor early when changing video modes. Video mode switch fixes: - Stop the screen saver when changing video modes. - Enclose the critical section with a pair of spltty()/splx(). - A kludge to prevent scrn_update() from accessing video memory in less- critical sections in video mode change; artificially turn on the UNKNOWN_MODE flag. PR: bin/5899, bin/5907 Tested by: ache and a couple of users OKed by: sos
* Time changes mark 2:phk1998-04-041-10/+12
| | | | | | | | | | | | | | | | | * Figure out UTC relative to boottime. Four new functions provide time relative to boottime. * move "runtime" into struct proc. This helps fix the calcru() problem in SMP. * kill mono_time. * add timespec{add|sub|cmp} macros to time.h. (XXX: These may change!) * nanosleep, select & poll takes long sleeps one day at a time Reviewed by: bde Tested by: ache and others
* Fix a couple of lines that dropped out in my merge yesterday.phk1998-02-131-3/+7
| | | | Complained about by: ache
* Hmm, it is generally an advantage to commit the most recent version ofphk1998-02-131-15/+14
| | | | | ones changes: A faster character painter procedure and fix on cursor bug.
* Add support for VESA mode 0x102 (800x600x4) in syscons. You can activatephk1998-02-122-60/+104
| | | | | | | | | | | | this using option "-b" to the boot blocks. It is smartest to compile a font into your kernel (See LINT), but not mandatory, but apart from the cursor you will see nothing on the screen until you load a font. This mode allows XF86_VGA16 to run in 800x600 mode on otherwise unsupported graphics hardware. A number of buglets in the cursor handling in syscons may become visible this way.
* Fix a white-space nit which I happened to notice.phk1998-02-121-3/+2
|
* Oops, sorry, a #define line for my debugging session slipped intoyokota1998-02-121-3/+1
| | | | the last commit ;-<
OpenPOWER on IntegriCloud