summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/syscons.c
Commit message (Collapse)AuthorAgeFilesLines
* Add VESA mode support for syscons, which enables the support of 15, 16,delphij2005-05-291-0/+6
| | | | | | | | | | | | | | | | | | | | | 24, and 32 bit modes. To use that, syscons(4) must be built with the compile time option 'options SC_PIXEL_MODE', and VESA support (a.k.a. vesa.ko) must be either loaded, or be compiled into the kernel. Do not return EINVAL when the mouse state is changed to what it already is, which seems to cause problems when you have two mice attached, and applications are not likely obtain useful information through the EINVAL caused by showing the mouse pointer twice. Teach vidcontrol(8) about mode names like MODE_<NUMBER>, where <NUMBER> is the video mode number from the vidcontrol -i mode output. Also, revert the video mode if something fails. Obtained from: DragonFlyBSD Discussed at: current@ with patch attached [1] PR: kern/71142 [2] Submitted by: Xuefeng DENG <dsnofe at msn com> [1], Cyrille Lefevre <cyrille dot lefevre at laposte dot net> [2]
* - Not every architecture defaults to a black background (e.g. sparc64marius2005-05-211-9/+9
| | | | | | | uses white) so base the color of the border on SC_NORM_ATTR rather than hardcoding BG_BLACK. - Use SC_DRIVER_NAME rather than hardcoding 'sc' in message strings (see also sys/dev/syscons/syscons.h rev. 1.82).
* Remove the ADJUST_CLOCK ioctl on pc98. It's not used at all.nyan2005-05-151-6/+0
|
* Remove debug printout of major/minor numbers, print name instead.phk2005-02-271-2/+2
|
* Remove the last vestiges of the userconfig option. None of this actuallyscottl2004-12-011-1/+1
| | | | did anything, so this commit should be considered a NO-OP.
* Add new function ttyinitmode() which sets our systemwide defaultphk2004-10-181-20/+20
| | | | | | | | | | | | | | modes on a tty structure. Both the ".init" and the current settings are initialized allowing the function to be used both at attach and open time. The function takes an argument to decide if echoing should be enabled. Echoing should not be enabled for regular physical serial ports unless they are consoles, in which case they should be configured by ttyconsolemode() instead. Use the new function throughout.
* Fix echo in console mode.phk2004-10-141-15/+22
|
* Disallow negative coordinates and sizes in the syscons CONS_SCRSHOTnectar2004-09-291-2/+4
| | | | | | ioctl. Reported by: Christer Oberg <christer.oberg@deprotect.com>
* Implement the KDENABIO etc ioctl's for amd64 as well.peter2004-09-241-2/+5
|
* Just because we have a serial console attached does not mean we don'tdes2004-08-051-1/+1
| | | | | | | | | | want a splash screen. There seems to be some confusion in the syscons code as to the meaning of the SC_KERNEL_CONSOLE flag. Its absence is sometimes interpreted to mean "I am not the system console", and sometimes to mean "I am not the only VGA console" (see the font loading code for an example of the latter). Someone with better syscons fu than myself should take a closer look.
* Document machdep.enable_panic_key.scottl2004-08-021-1/+1
| | | | Submitted by: Craig Rodrigues
* Avoid casts as lvalues.kan2004-07-281-2/+2
|
* Preparation commit for the tty cleanups that will follow in the nearphk2004-07-151-1/+1
| | | | | | | | | future: rename ttyopen() -> tty_open() and ttyclose() -> tty_close(). We need the ttyopen() and ttyclose() for the new generic cdevsw functions for tty devices in order to have consistent naming.
* Update for the KDB framework. Sanitize the alpha console code now thatmarcel2004-07-101-72/+4
| | | | | | | | | | | | | | | | | | it's in the way even more. Basicly: remove all alpha specific console support from gfb(4), sio(4) and syscons(4). Rewrite the alpha console initialization to be identical to all other platforms. In a nutshell: call cninit(). The platform specific code now only sets or clears RB_SERIAL and thus automaticly causes the right console to be selected. sio.c: o Replace the remote GDB hacks and use the GDB debug port interface instead. o Make debugging code conditional upon KDB instead of DDB. o Call kdb_alt_break() instead of db_alt_break(). o Call kdb_enter() instead of breakpoint(). o Remove the ugly compatibility of using the console as the debug port.
* Second half of the dev_t cleanup.phk2004-06-171-1/+1
| | | | | | | | | | | The big lines are: NODEV -> NULL NOUDEV -> NODEV udev_t -> dev_t udev2dev() -> findcdev() Various minor adjustments including handling of userland access to kernel space struct cdev etc.
* Do the dreaded s/dev_t/struct cdev */phk2004-06-161-13/+13
| | | | Bump __FreeBSD_version accordingly.
* Machine generated patch which changes linedisc calls from accessingphk2004-06-041-11/+11
| | | | | | linesw[] directly to using the ttyld...() functions The ttyld...() functions ar inline so there is no performance hit.
* Gainfully employ the new ttyioctl in the trivial cases.phk2004-06-011-7/+1
|
* Rearrangements needed for syscons(4) to be used as a console devicekensmith2004-04-021-20/+41
| | | | | | | | | | | | | | | | | | | on architectures that need to call cninit() before the machine is ready to support mutexes (required by make_dev()). - Remove make_dev() call from scinit() when flags indicate unit is the system console, rely on sc_attach_unit() to handle it. - When trying to access current screen's status (scr_stat structure) use the static one provided for the initial system console if no dev_t is available. - When calling make_dev() in sc_attach_unit() catch special case of system's initial console and set up dev_t structure to include pointer to console's scr_stat struct. Reviewed by: marcel Tested by: marcel, grehan (ppc), others on current@ Approved by: rwatson (mentor)
* Fixed a nasty old bug where a visual bell in the currently activeru2004-03-181-1/+2
| | | | | | | | VTY prevented waking up processes waiting for the output queue to get free on other VTYs. In collaboration with: Vsevolod Lobko MFC after: 1 week
* Device megapatch 4/6:phk2004-02-211-4/+2
| | | | | | | | Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION. Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
* Device megapatch 3/6:phk2004-02-211-3/+0
| | | | | | | | | | | | Add missing D_TTY flags to various drivers. Complete asserts that dev_t's passed to ttyread(), ttywrite(), ttypoll() and ttykqwrite() have (d_flags & D_TTY) and a struct tty pointer. Make ttyread(), ttywrite(), ttypoll() and ttykqwrite() the default cdevsw methods for D_TTY drivers and remove the explicit initializations in various drivers cdevsw structures.
* Try again to get rid of makedev().phk2004-02-141-5/+9
|
* Back out my last commit to syscons, things seem to be far more evilphk2004-02-131-9/+5
| | | | | | | | than suspected. and obviously nobody runs the patches I post to -current :-( Poul-Henning
* Don't use makedev() to hack up dev_t's early in boot, do it rightphk2004-02-121-5/+9
| | | | with make_dev() (and avoid doing it again later).
* Eliminate global cons_unavailable flag and replace it by the statuskan2004-02-051-6/+9
| | | | | bit maintained on a per-device basis. Single variable is inadequate on machines running with multiple consoles enabled.
* __powerpc__ conditional code for the syscons OpenFirmware/PPC framebuffer.grehan2004-01-211-10/+10
| | | | | | | | | | | | Took the opportunity to reduce __i386__ || __ia64__ || __amd64__ || __sparc64__ || __powerpc__ to !__alpha__ reviewed by: gallatin
* Fix a panic that occurs when resuming. For some reason, sc->cur_scp isnjl2003-10-291-0/+3
| | | | | | NULL. Submitted by: Andrew Thompson <andy@fud.org.nz>
* Convert to cn_name rather than cn_dev.phk2003-09-261-2/+2
|
* Merge pc98 support from sys/pc98/pc98/syscons.c.nyan2003-08-251-0/+21
|
* Use __FBSDID().obrien2003-08-241-2/+3
| | | | Also some minor style cleanups.
* - Add a font width field to struct scr_stat. Use this instead of '8'.jake2003-08-241-3/+2
| | | | | - Use the values in the video info for the font size and width instead of second guessing.
* Add sparc64 ifdefs.jake2003-08-241-9/+27
|
* Fix endian bugs accessing ioctl arguments that are passed by value.jake2003-08-241-3/+3
|
* Trivial addition of __amd64__ to the ifdefs for platforms that usepeter2003-05-091-9/+9
| | | | | | i386-style vga console support. Approved by: re
* - Add vm_paddr_t, a physical address type. This is required for systemsjake2003-03-251-1/+1
| | | | | | | | | | | | | | | where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long. Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms. Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change)
* Don't call sysbeep() in sc_bell() if either duration or pitch is zero.jhb2003-03-241-1/+1
| | | | | | | | | | Otherwise sysbeep() makes an annoying clicking sound on some systems. 'kbdcontrol -b off' just sets the duration and pitch to zero, it doesn't set the QUIET_BELL flag. Tested by: SorAlx <soralx@cydem.zp.ua> PR: misc/41772 MFC after: 1 week
* Make nokqfilter() return the correct return value.phk2003-03-031-1/+1
| | | | Ditch the D_KQFILTER flag which was used to prevent calling NULL pointers.
* Gigacommit to improve device-driver source compatibility betweenphk2003-03-031-14/+11
| | | | | | | | | | | | | branches: Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values. This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386. Approved by: re(scottl)
* More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).des2003-03-021-6/+6
|
* When DDB is in the kernel, unlock VTY switching so that wemux2003-02-271-0/+4
| | | | | | | | don't end up freezing the box. This makes VTY locking useless in the DDB case but a box which is supposed to be physically secure shouldn't compile DDB anyway. Reviewed by: silence on -audit
* Cleanup of the d_mmap_t interface.mux2003-02-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | - Get rid of the useless atop() / pmap_phys_address() detour. The device mmap handlers must now give back the physical address without atop()'ing it. - Don't borrow the physical address of the mapping in the returned int. Now we properly pass a vm_offset_t * and expect it to be filled by the mmap handler when the mapping was successful. The mmap handler must now return 0 when successful, any other value is considered as an error. Previously, returning -1 was the only way to fail. This change thus accidentally fixes some devices which were bogusly returning errno constants which would have been considered as addresses by the device pager. - Garbage collect the poorly named pmap_phys_address() now that it's no longer used. - Convert all the d_mmap_t consumers to the new API. I'm still not sure wheter we need a __FreeBSD_version bump for this, since and we didn't guarantee API/ABI stability until 5.1-RELEASE. Discussed with: alc, phk, jake Reviewed by: peter Compile-tested on: LINT (i386), GENERIC (alpha and sparc64) Runtime-tested on: i386
* Change the console interface to pass a "struct consdev *" instead of aphk2003-02-201-4/+4
| | | | | | | | | dev_t to the method functions. The dev_t can still be found at struct consdev *->cn_dev. Add a void *cn_arg element to struct consdev which the drivers can use for retrieving their softc.
* Add a "hw.syscons.bell" sysctl, which can disable the bell at syscons level.cognet2003-02-201-1/+4
|
* Back out M_* changes, per decision of the TRB.imp2003-02-191-6/+6
| | | | Approved by: trb
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-6/+6
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* Make kqueue(2) work for virtual terminals.kbyanc2002-10-171-1/+2
| | | | | PR: 40486 Submitted by: Jilles Tjoelker <jilles+fbsd-bugs@stack.nl>
* Be consistent about "static" functions: if the function is markedphk2002-09-281-5/+5
| | | | | | static in its prototype, mark it static at the definition too. Inspired by: FlexeLint warning #512
* Don't use "NULL" when "0" is really meant.archie2002-08-211-1/+1
|
* 1. Allow information about current history size be retrieved using ioctl(2);sobomax2002-08-191-5/+44
| | | | | 2. modify screen dumpung routine, so that in addition to visible area, it allows to grab any portion of history buffer as well.
OpenPOWER on IntegriCloud