#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
225617 |
|
16-Sep-2011 |
kmacy |
In order to maximize the re-usability of kernel code in user space this patch modifies makesyscalls.sh to prefix all of the non-compatibility calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel entry points and all places in the code that use them. It also fixes an additional name space collision between the kernel function psignal and the libc function of the same name by renaming the kernel psignal kern_psignal(). By introducing this change now we will ease future MFCs that change syscalls.
Reviewed by: rwatson Approved by: re (bz)
|
#
197539 |
|
27-Sep-2009 |
ed |
Add support for VT200-style mouse input.
Right now if applications want to use the mouse on the command line, they use sysmouse(4) and install a signal handler in the kernel to deliver signals when mouse events arrive. This conflicts with my plan to change to TERM=xterm, so implement proper VT200-style mouse input.
Because mouse input is now streamed through the TTY, it means you can now SSH to another system on the console and use the mouse there as well. The disadvantage of the VT200 mouse protocol, is that it doesn't seem to generate events when moving the cursor. Only when pressing and releasing mouse buttons.
There are different protocols as well, but this one seems to be most commonly supported.
Reported by: Paul B. Mahol <onemda gmail com> Tested with: vim(1)
|
#
181905 |
|
20-Aug-2008 |
ed |
Integrate the new MPSAFE TTY layer to the FreeBSD operating system.
The last half year I've been working on a replacement TTY layer for the FreeBSD kernel. The new TTY layer was designed to improve the following:
- Improved driver model:
The old TTY layer has a driver model that is not abstract enough to make it friendly to use. A good example is the output path, where the device drivers directly access the output buffers. This means that an in-kernel PPP implementation must always convert network buffers into TTY buffers.
If a PPP implementation would be built on top of the new TTY layer (still needs a hooks layer, though), it would allow the PPP implementation to directly hand the data to the TTY driver.
- Improved hotplugging:
With the old TTY layer, it isn't entirely safe to destroy TTY's from the system. This implementation has a two-step destructing design, where the driver first abandons the TTY. After all threads have left the TTY, the TTY layer calls a routine in the driver, which can be used to free resources (unit numbers, etc).
The pts(4) driver also implements this feature, which means posix_openpt() will now return PTY's that are created on the fly.
- Improved performance:
One of the major improvements is the per-TTY mutex, which is expected to improve scalability when compared to the old Giant locking. Another change is the unbuffered copying to userspace, which is both used on TTY device nodes and PTY masters.
Upgrading should be quite straightforward. Unlike previous versions, existing kernel configuration files do not need to be changed, except when they reference device drivers that are listed in UPDATING.
Obtained from: //depot/projects/mpsafetty/... Approved by: philip (ex-mentor) Discussed: on the lists, at BSDCan, at the DevSummit Sponsored by: Snow B.V., the Netherlands dcons(4) fixed by: kan
|
#
169983 |
|
25-May-2007 |
delphij |
Make the comparsion more obvious.
|
#
162285 |
|
13-Sep-2006 |
scottl |
Introduce a spinlock for synchronizing access to the video output hardware in syscons. This replaces a simple access semaphore that was assumed to be protected by Giant but often was not. If two threads that were otherwise SMP-safe called printf at the same time, there was a high likelyhood that the semaphore would get corrupted and result in a permanently frozen video console. This is similar to what is already done in the serial console drivers.
|
#
150686 |
|
28-Sep-2005 |
marius |
Add a font width argument to vi_load_font_t, vi_save_font_t and vi_putm_t and do some preparations for handling 12x22 fonts (currently lots of code implies and/or hardcodes a font width of 8 pixels). This will be required on sparc64 which uses a default font size of 12x22 in order to add font loading and saving support as well as to use a syscons(4)-supplied mouse pointer image. This API breakage is committed now so it can be MFC'ed in time for 6.0 and later on upcoming framebuffer drivers destined for use on sparc64 and which are expected to rely on using font loading internally and on a syscons(4)-supplied mouse pointer image can be easily MFC'ed to RELENG_6 rather than requiring a backport.
Tested on: i386, sparc64, make universe MFC after: 1 week
|
#
149855 |
|
07-Sep-2005 |
rodrigc |
In set_mouse_pos(), try to avoid division by zero errors.
|
#
149640 |
|
30-Aug-2005 |
rodrigc |
Prevent division by zero errors in sc_mouse_move() by explicitly setting sc->font_width, in the same places where sc->font_size is set, instead of relying on the default initialized value of 0 for sc->font_width.
PR: kern/84836 Reported by: Andrey V. Elsukov <bu7cher at yandex dot ru> MFC after: 2 days
|
#
146736 |
|
29-May-2005 |
delphij |
Add VESA mode support for syscons, which enables the support of 15, 16, 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]
|
#
119420 |
|
24-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
#
119388 |
|
24-Aug-2003 |
jake |
- Add a font width field to struct scr_stat. Use this instead of '8'. - Use the values in the video info for the font size and width instead of second guessing.
|
#
115595 |
|
01-Jun-2003 |
jmallett |
Use SC_NO_CUTPASTE to protect cutpaste variables correctly, fixing the -Werror build with such option, but not other combinations. LINT misses this because syscons knobs in LINT turn off a lot of code.
Reviewed by: marcel (some time ago)
|
#
114216 |
|
29-Apr-2003 |
kan |
Deprecate machine/limits.h in favor of new sys/limits.h. Change all in-tree consumers to include <sys/limits.h>
Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
102290 |
|
22-Aug-2002 |
peter |
Use machine/limits.h rather than userland limits.h (which may come from the userland source tree, or even worse: /usr/include)
|
#
88926 |
|
05-Jan-2002 |
sobomax |
In the word selection mode don't append newline if the word ends at the screen boundary.
|
#
86894 |
|
25-Nov-2001 |
sobomax |
Fix POLA - when selecting line into syscons' cut'n'paste buffer (double click) do not include newline into the buffer. This is exacly how things worked before my recent changes to the cut'n'paste code and how they work in 4-STABLE.
|
#
83791 |
|
21-Sep-2001 |
sobomax |
Introduce new syscons(4) kernel options: - SC_CUT_SPACES2TABS - when copying text into the cut buffer convert leading spaces into the tabs; - SC_CUT_SEPCHARS="XYZ" - treat supplied characters as possible words separators when the driver searches for words boundaries when doing cut operation.
Also unify cut code a bit to decrease amount of duplicated code. This fixes line cut mode, so that it is no longer pads line with useless spaces.
Approved by: ru
|
#
83366 |
|
12-Sep-2001 |
julian |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
|
#
79534 |
|
10-Jul-2001 |
yokota |
Fix dependencies between kernel options: - When both SC_PIXEL_MODE and SC_NO_FONT_LOADING are defined, quietly drop SC_NO_FONT_LOADING, because the pixel(raster) console requires font. - When SC_NO_FONT_LOADING is defined, force SC_ALT_MOUSE_IMAGE. Without font, the arrow-shaped mouse cursor cannot be drawn. - Fiddle and simplify some internal macros. MFC after: 2 weeks
|
#
78951 |
|
29-Jun-2001 |
yokota |
Quit the ioctl MOUSE_GETINFO as soon as we have gathered necessary information. There is no need to stick around any longer. MFC after: 2 weeks
|
#
76166 |
|
01-May-2001 |
markm |
Undo part of the tangle of having sys/lock.h and sys/mutex.h included in other "system" header files.
Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys/lockmgr.h form kernel .c files.
Sort sys/*.h includes where possible in affected files.
OK'ed by: bde (with reservations)
|
#
75893 |
|
23-Apr-2001 |
jhb |
Change the pfind() and zpfind() functions to lock the process that they find before releasing the allproc lock and returning.
Reviewed by: -smp, dfr, jake
|
#
75790 |
|
21-Apr-2001 |
ache |
Upper limit of mousechar start is UCHAR_MAX - 3, not UCHAR_MAX - 4 Restore original characters when mousechar start changes, not always 0-3
PR: 24437 Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
|
#
74208 |
|
13-Mar-2001 |
ache |
Multiply empty lines pasted as single line, fix it
|
#
74125 |
|
11-Mar-2001 |
ache |
Don't require that mouse cursor must be visible before mouse paste.
Paste always happens to current _text_ cursor position independently of mouse cursor position in any case and old variant force user to press mouse paste button _two_ times if mouse cursor is invisible.
|
#
74118 |
|
11-Mar-2001 |
ache |
Implement keyboard paste
PR: 25499 Submitted by: Gaspar Chilingarov <nm@web.am>
|
#
73929 |
|
07-Mar-2001 |
jhb |
Grab the process lock while calling psignal and before calling psignal.
|
#
66860 |
|
09-Oct-2000 |
phk |
Initiate deorbit burn sequence for <machine/mouse.h>.
Replace all in-tree uses with <sys/mouse.h> which repo-copied a few moments ago from src/sys/i386/include/mouse.h by peter. This is also the appropriate fix for exo-tree sources.
Put warnings in <machine/mouse.h> to discourage use. November 15th 2000 the warnings will be converted to errors. January 15th 2001 the <machine/mouse.h> files will be removed.
|
#
66834 |
|
08-Oct-2000 |
phk |
Initiate deorbit burn sequence for <machine/console.h>.
Replace all in-tree uses with necessary subset of <sys/{fb,kb,cons}io.h>. This is also the appropriate fix for exo-tree sources.
Put warnings in <machine/console.h> to discourage use. November 15th 2000 the warnings will be converted to errors. January 15th 2001 the <machine/console.h> files will be removed.
|
#
65690 |
|
10-Sep-2000 |
markm |
Harvest mouse events for the entropy device in a better place. In the new location, all mouse events are harvested, not just the ones being written out to moused(8). This means that mouse entropy is harvested at the consoles as well as in X.
|
#
58872 |
|
31-Mar-2000 |
yokota |
- Fix SC_ALT_MOUSE_IMAGE; don't blink the mouse cursor. - Fix non-destructive, underline text cursor.
|
#
56836 |
|
29-Jan-2000 |
peter |
Use config's conditional compilation rather than using #ifdefs that make modular compilation harder. I'm doing this because people seem to like cut/pasting examples of bad practices in existing code.
|
#
56528 |
|
24-Jan-2000 |
yokota |
Fix a bug exposed by the previous commit. Do not use scp->font_size, if the screen is in a graphics mode
Reported by: Maxim Sobolev <sobomax@altavista.net>
|
#
56328 |
|
20-Jan-2000 |
yokota |
Fix wrong usage of FONT_NONE. It was not meant to be set in scp->font_size in the first place. It is redundant now and is removed.
Found by: bde
|
#
56043 |
|
15-Jan-2000 |
yokota |
This is the 3rd stage of syscons code reorganization.
- Split terminal emulation code from the main part of the driver so that we can have alternative terminal emulator modules if we like in the future. (We are not quite there yet, though.)
- Put sysmouse related code in a separate file, thus, simplifying the main part of the driver.
As some files are added to the source tree, you need to run config(8) before you compile a new kernel next time.
You shouldn't see any functional change by this commit; this is only internal code reorganization.
|
#
55849 |
|
12-Jan-2000 |
yokota |
Make the mouse cursor char code configurable via the CONS_MOUSECTL ioctl.
By popular demand.
|
#
54182 |
|
06-Dec-1999 |
yokota |
Fix mouse cursor logic which I broke in 1.1 ;-<
Reported by: Christian Weisgerber <naddy@unix-ag.uni-kl.de>
|
#
53057 |
|
09-Nov-1999 |
yokota |
Correctly record the mouse position in the current VTY.
|
#
53011 |
|
08-Nov-1999 |
yokota |
- Added a new kernel configuration option: SC_TWOBUTTON_MOUSE. The new option will make the right mouse button the `paste' button. Useful for two button mice.
Submitted by: morganw@engr.sc.edu (Wes Morgan)
|
#
52813 |
|
02-Nov-1999 |
archie |
Change isspace() macro name to avoid conflict.
|
#
51404 |
|
19-Sep-1999 |
yokota |
- Hang the scr_stat struct from dev_t. - Remove sc_get_scr_stat(). It's not necessary anymore. - Call ttymalloc() to allocate the struct tty for each vty, rather than statically declaring an array of struct tty. We still need a statically allocated struct tty for the first vty which is used for the kernel console I/O, though. - Likewise, call ttymalloc() for /dev/sysmouse and /dev/consolectl. - Delete unnecessary test on the pointer struct tty *tp in some functions. - Delete unused code in scmouse.c.
WARNING: this change requires you to recompile screen savers!
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
48104 |
|
22-Jun-1999 |
yokota |
The second phase of syscons reorganization.
- Split syscons source code into manageable chunks and reorganize some of complicated functions.
- Many static variables are moved to the softc structure.
- Added a new key function, PREV. When this key is pressed, the vty immediately before the current vty will become foreground. Analogue to PREV, which is usually assigned to the PrntScrn key. PR: kern/10113 Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
- Modified the kernel console input function sccngetc() so that it handles function keys properly.
- Reorganized the screen update routine.
- VT switching code is reorganized. It now should be slightly more robust than before.
- Added the DEVICE_RESUME function so that syscons no longer hooks the APM resume event directly.
- New kernel configuration options: SC_NO_CUTPASTE, SC_NO_FONT_LOADING, SC_NO_HISTORY and SC_NO_SYSMOUSE. Various parts of syscons can be omitted so that the kernel size is reduced.
SC_PIXEL_MODE Made the VESA 800x600 mode an option, rather than a standard part of syscons.
SC_DISABLE_DDBKEY Disables the `debug' key combination.
SC_ALT_MOUSE_IMAGE Inverse the character cell at the mouse cursor position in the text console, rather than drawing an arrow on the screen. Submitted by: Nick Hibma (n_hibma@FreeBSD.ORG)
SC_DFLT_FONT makeoptions "SC_DFLT_FONT=_font_name_" Include the named font as the default font of syscons. 16-line, 14-line and 8-line font data will be compiled in. This option replaces the existing STD8X16FONT option, which loads 16-line font data only.
- The VGA driver is split into /sys/dev/fb/vga.c and /sys/isa/vga_isa.c.
- The video driver provides a set of ioctl commands to manipulate the frame buffer.
- New kernel configuration option: VGA_WIDTH90 Enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60. These modes are mot always supported by the video card. PR: i386/7510 Submitted by: kbyanc@freedomnet.com and alexv@sui.gda.itesm.mx.
- The header file machine/console.h is reorganized; its contents is now split into sys/fbio.h, sys/kbio.h (a new file) and sys/consio.h (another new file). machine/console.h is still maintained for compatibility reasons.
- Kernel console selection/installation routines are fixed and slightly rebumped so that it should now be possible to switch between the interanl kernel console (sc or vt) and a remote kernel console (sio) again, as it was in 2.x, 3.0 and 3.1.
- Screen savers and splash screen decoders Because of the header file reorganization described above, screen savers and splash screen decoders are slightly modified. After this update, /sys/modules/syscons/saver.h is no longer necessary and is removed.
|