summaryrefslogtreecommitdiff
path: root/sys/dev/syscons/syscons.c
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create branch 'RELENG_2_2'.cvs2svn1996-11-021-3618/+0
| | | | Notes: svn path=/stable/2.2/; revision=19327
* Use the calibrated/adjustable i8254 frequency `timer_freq' instead ofSøren Schmidt1996-10-261-23/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=19197
* Remove SC_KBD_PROBE_WORKS option and replace it with a simple run-time flagPaul Traina1996-10-231-7/+8
| | | | | | | | | | | | bit (0x0008) in the sc driver configuration line. This way it's easy to boink a generic kernel. Also, document and place in an opt_ file the #define's for overriding which serial port is the system console. Approved by: sos Notes: svn path=/head/; revision=19123
* Changed mouse functionality a bit, now the pointer disappears ifSøren Schmidt1996-10-181-15/+35
| | | | | | | | | | | | | there is keyboard input. The mousepointer is shown again immediately if moved. Also a function pointer used to install a userwritten extra ioctl handler (sc_user_ioctl). This way its is possible to install user defined videomodes etc etc. No further changes should be in the kernel. Notes: svn path=/head/; revision=19022
* Corrected the setting of winsize on open().Søren Schmidt1996-10-151-5/+10
| | | | | | | Problem pointed out by David Nugent - davidn@blaze.net.au. Notes: svn path=/head/; revision=18948
* Don't claim the console when the driver is disabled. The getc/putcBruce Evans1996-10-091-2/+2
| | | | | | | | part of the console driver usually works when the driver is disabled, but the normal read/write part doesn't (it caused a panic). Notes: svn path=/head/; revision=18831
* scresume erroneously used before declared. Move the functionJordan K. Hubbard1996-10-031-10/+10
| | | | | | | | rather than add another APM ifdef just for the forward decl. [Boy, sure a lot of warnings in here!] Notes: svn path=/head/; revision=18647
* Fixed the userconfig problem (and one with ddb as well).Søren Schmidt1996-10-021-153/+157
| | | | | | | | The rudimentary support for a splash page is there, and works, it just needs a splash page... Notes: svn path=/head/; revision=18646
* Fixed the "missing updates" reported by ache.Søren Schmidt1996-10-011-29/+37
| | | | | | | Moved a little closer to having a splash page capability. Notes: svn path=/head/; revision=18629
* #ifdef another instance of toggle_splash_screen() which Soren missed.Jordan K. Hubbard1996-10-011-1/+5
| | | | Notes: svn path=/head/; revision=18617
* Dont make splash screen the default :)Søren Schmidt1996-09-301-2/+1
| | | | Notes: svn path=/head/; revision=18588
* Fix a couble of nasties regarding mouse pointer and differentSøren Schmidt1996-09-301-100/+175
| | | | | | | | | resolutions. Allow middle mouse button to be used for pasting. Also added the beginnings of support for a splash page. Notes: svn path=/head/; revision=18587
* Changed cncheckc() interface so that it is 8-bit clean - return -1Bruce Evans1996-09-141-2/+7
| | | | | | | | | | | | instead of 0 if there is no input. syscons.c: Added missing spl locking in sccncheckc(). Return the same value as sccngetc() would. It is wrong for sccngetc() to return non-ASCII, but stripping the non-ASCII bits doesn't help. Notes: svn path=/head/; revision=18288
* Hack workaround XFree86 switching failure when used with /dev/sysmousePeter Wemm1996-09-101-2/+23
| | | | | | | | | | | | | | | | | | | | | and xdm, possibly in general. What was happening was that the server was doing a tcsetattr(.. TCSADRAIN) on the mouse fd after a write. Since /dev/sysmouse had a null t_oproc, the drain failed with EIO. Somehow this spammed XFree86 (!@&^#%*& binary release!!), and the driver was left in a bogus state (ie: switch_in_progress permanently TRUE). The simplest way out was to implement a dummy scmousestart() routine to accept any characters from the tty system and toss them into the void. It would probably be more correct to intercept scwrite()'s to the mouse device, but that's executed for every single write to the screen. Supplying a start routine to eat the characters is only executed for the mouse port during startup/shutdown, so it should be faster. Notes: svn path=/head/; revision=18224
* The poor nsccons variable was gone agian this time hidden bySøren Schmidt1996-09-091-2/+2
| | | | | | | | | an ifdef , wonder who broke it this time :) Submitted by: ache Notes: svn path=/head/; revision=18191
* Make syscons replicate a mousesystems mouse on minor 128..Søren Schmidt1996-09-081-18/+36
| | | | | | | | | | | | | | | This enables other consumers of the mouse, to get it info via moused/syscons. In order to use it run moused (from sysconfig), and then tell your Xserver that it should use /dev/sysmouse (mknod sysmouse c 12 128) and it a mousesystems mouse. Everybody will be happy then :) Remember that moused still needs to know what kind of mouse you have.. Comments welcome, as is test results... Notes: svn path=/head/; revision=18174
* Fixed another easy case of const poisoning in the kernel. Cosmetic.Bruce Evans1996-09-071-2/+2
| | | | | | | | | (A pointer to a const was misused to avoid loading loading the same value twice, but gcc does exactly the same optimization automatically. It can see that the value hasn't changed.) Notes: svn path=/head/; revision=18125
* Add option SC_KBD_PROBE_WORKS to syscons driver.Paul Traina1996-09-061-4/+12
| | | | | | | | | | | | If you define this, it means your keyboard is actually probable using the brain-dammaged probe routine in syscons, and if the keyboard is NOT found, then you don't want syscons to activate itself further. This makes life sane for those of us who use serial consoles most of the time and want "the right thing" to happen when we plug a keyboard in. Notes: svn path=/head/; revision=18088
* Remove devconf, it never grew up to be of any use.Poul-Henning Kamp1996-09-061-24/+1
| | | | Notes: svn path=/head/; revision=18084
* Fixed a panic when switching to 40x25 mode, and cursor was beyond theSøren Schmidt1996-09-041-1/+2
| | | | | | | new buffer. Notes: svn path=/head/; revision=18034
* Fixed a couple of bugs in the mousepointer code.Søren Schmidt1996-09-011-228/+291
| | | | | | | | Changed update strategy slightly. Make set_mode & copy_font externally visible. Notes: svn path=/head/; revision=17993
* Fixed restoral of nsscons variable. The tty for /dev/console was lost.Bruce Evans1996-08-281-2/+2
| | | | | | | A warning was introduced. Notes: svn path=/head/; revision=17870
* restore nsccons variable from rev 1.115 that was deleted in rev 1.136Peter Wemm1996-08-161-1/+2
| | | | | | | | | during phk's staticize/cleanup commits. pstat needs it, the MAXCONS option is not visible anywhere else, and pstat uses it to find the bounds of the sccons[MAXCONS] array, which varies. Notes: svn path=/head/; revision=17628
* Fix GIO_ATTR ioctl return to match SYSVAndrey A. Chernov1996-07-301-2/+2
| | | | Notes: svn path=/head/; revision=17340
* Added or restored #include of <machine/md_var.h>. Some declarationsBruce Evans1996-07-011-1/+2
| | | | | | | moved from <machine/cpufunc.h> to better places. Notes: svn path=/head/; revision=16879
* Bump various timeouts in scprobe(). This finally fixes the brokenJoerg Wunsch1996-06-271-6/+6
| | | | | | | keyboard reset one of my earlier commits has been causing. Notes: svn path=/head/; revision=16806
* Fixed bug in pasting 8bit char (ache).Søren Schmidt1996-06-261-76/+51
| | | | | | | | Added linefeeds in cuts that extend beyond one line. Prepared for the mousefunctions to be used in nontext modes. Notes: svn path=/head/; revision=16769
* Added #include of <machine/md_var.h>. This will be needed whenBruce Evans1996-06-251-1/+2
| | | | | | | | some declarations are moved from <machine/cpufunc.h> to better places. Notes: svn path=/head/; revision=16733
* Change the way moused talk to syscons, now its only delivering mouseeventsSøren Schmidt1996-06-251-113/+209
| | | | | | | | | | | via an ioctl (MOUSE_ACTION). Fixed a couple of bugs (destructive cursor, uncut, jitter). Now applications can use the mouse via the MOUSE_MODE ioctl, its possible to have a signal sent on mouseevents, makeing an event loop in the application take over mouseevents. Notes: svn path=/head/; revision=16693
* Moved declarations of static functions to the correct file. This fixesBruce Evans1996-06-231-1/+34
| | | | | | | hundreds of warnings from -Wunused in lkm/syscons/*. Notes: svn path=/head/; revision=16633
* Oops, fix a bug that caused updates to the screen to happen, withoutSøren Schmidt1996-06-211-2/+6
| | | | | | | anything actually changed, in this case the mousepointer logic. Notes: svn path=/head/; revision=16567
* Some news for syscons (long overdue):Søren Schmidt1996-06-211-97/+175
| | | | | | | | | | | Real support for a Textmode mousecursor, works by reprogramming the charset. Together with this support for cut&paste in text mode. To use it a userland daemon is needed (moused), which provides the interface to the various mice protokols. Bug fixes here and there, all known PR's closed by this update. Notes: svn path=/head/; revision=16564
* Stomp another compiler warning: sc_devfs_token[] should only be declaredBill Paul1996-06-171-1/+3
| | | | | | | if DEVFS is #defined. Notes: svn path=/head/; revision=16441
* Fix the warnings about "cant inline call to xxx" by reordering twoPeter Wemm1996-05-271-46/+49
| | | | | | | | functions. It seems gcc wants to have seen the definitions of the function before it will insert it inline in a caller. Notes: svn path=/head/; revision=15925
* Fix the "well-known retries bug" (a logic-o).Joerg Wunsch1996-05-121-2/+2
| | | | Notes: svn path=/head/; revision=15746
* Give up waiting for a successful keyboard reset after someJoerg Wunsch1996-05-111-5/+7
| | | | | | | | | unreasonable time. I've got a PCI mainboard that simply doesn't grok it, so continuing with a warning (and a keyboard that's working nevertheless :) seems to be better than spin-looping forever. Notes: svn path=/head/; revision=15739
* Fix ^[[1K (clear from beginning of line to cursor) andAndrey A. Chernov1996-05-021-4/+4
| | | | | | | ^[[2K (clear whole line), they not work _initially_ Notes: svn path=/head/; revision=15562
* Fixed a race that caused panics in kernel printfs when the screen timeoutBruce Evans1996-05-011-2/+5
| | | | | | | routine changed the screen pointers while output was in progress. Notes: svn path=/head/; revision=15502
* Removed options MAXCONS & HARDFONT, they are no longer in useSøren Schmidt1996-04-261-2/+1
| | | | | | | (and havn't been for long, sigh) Notes: svn path=/head/; revision=15390
* Moved the initialization of the devfs devices to after the initializationBruce Evans1996-03-271-7/+9
| | | | | | | of the devswitch so that it actually works. Notes: svn path=/head/; revision=14848
* Add more options into the conf/options and i386/conf/options.i386 filesPeter Wemm1996-03-021-1/+2
| | | | | | | | | and the #include hooks so that 'make depend' is more useful. This covers most of the options I regularly use (but not all) and some other easy ones. Notes: svn path=/head/; revision=14328
* use devfs_add_devswf and avoid local variable.Poul-Henning Kamp1996-02-131-5/+3
| | | | Notes: svn path=/head/; revision=14086
* Close kern/627 - panic if syscons not attachedPaul Traina1996-02-081-1/+3
| | | | Notes: svn path=/head/; revision=13967
* Deliver all bells to current console, use different pitchAndrey A. Chernov1996-02-051-11/+13
| | | | | | | for non-originating bells. Notes: svn path=/head/; revision=13914
* Convert DDB to new-style option.Garrett Wollman1996-01-041-1/+3
| | | | Notes: svn path=/head/; revision=13228
* Removed my devsw access functions [un]register_cdev() andBruce Evans1995-12-141-6/+9
| | | | | | | | | | | | | | | | | getmajorbyname() which were a better (sigh) temporary interface to the going-away devswitches. Note that SYSINIT()s to initialize the devswitches would be fatal in syscons.c and pcvt_drv.c (and are bogus elsewhere) because they get called independently of whether the device is attached; thus devices that share a major clobber each other's devswitch entries until the last one wins. conf.c: Removed stale #includes and comments. Notes: svn path=/head/; revision=12840
* Removed new alias d_size_t for d_psize_t.Bruce Evans1995-12-101-4/+4
| | | | | | | | | | | | | Removed old aliases d_rdwr_t and d_ttycv_t for d_read_t/d_write_t and d_devtotty_t. Sorted declarations of switch functions into switch order. Removed duplicated comments and declarations of nonexistent switch functions. Notes: svn path=/head/; revision=12731
* Staticize and cleanup.Poul-Henning Kamp1995-12-101-10/+13
| | | | Notes: svn path=/head/; revision=12724
* Pass 3 of the great devsw changesJulian Elischer1995-12-081-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | most devsw referenced functions are now static, as they are in the same file as their devsw structure. I've also added DEVFS support for nearly every device in the system, however many of the devices have 'incorrect' names under DEVFS because I couldn't quickly work out the correct naming conventions. (but devfs won't be coming on line for a month or so anyhow so that doesn't matter) If you "OWN" a device which would normally have an entry in /dev then search for the devfs_add_devsw() entries and munge to make them right.. check out similar devices to see what I might have done in them in you can't see what's going on.. for a laugh compare conf.c conf.h defore and after... :) I have not doen DEVFS entries for any DISKSLICE devices yet as that will be a much more complicated job.. (pass 5 :) pass 4 will be to make the devsw tables of type (cdevsw * ) rather than (cdevsw) seems to work here.. complaints to the usual places.. :) Notes: svn path=/head/; revision=12675
* Untangled the vm.h include file spaghetti.David Greenman1995-12-071-1/+3
| | | | Notes: svn path=/head/; revision=12662