Home | History | Annotate | Download | only in kern
History log of /src/sys/kern/tty_conf.c
RevisionDateAuthorComments
 1.57  09-Aug-2021  andvar fix various typos in compatibility, mainly in comments.
 1.56  22-May-2014  dholland Define TTY_ALLOW_PRIVATE in tty.c, tty_pty.c, and tty_conf.c.

These modules are the core of the tty code that in the long term needs
access to struct tty. (It may be that in the future this can be cut
back to just tty.c; we'll see. For now I'll settle for keeping drivers
out of struct tty.)
 1.55  28-Apr-2008  martin branches: 1.55.44; 1.55.60;
Remove clause 3 and 4 from TNF licenses
 1.54  07-Nov-2007  ad branches: 1.54.14; 1.54.16; 1.54.18;
Merge tty changes from the vmlocking branch.
 1.53  04-Mar-2007  christos branches: 1.53.2; 1.53.14; 1.53.16; 1.53.20; 1.53.22;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.52  01-Nov-2006  yamt branches: 1.52.4;
remove some __unused from function parameters.
 1.51  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.50  16-Jan-2006  yamt branches: 1.50.18; 1.50.20;
- tweak RUN_ONCE api to allow init_func returns an error.
- physio: handle failure of workqueue_create.
 1.49  11-Dec-2005  christos branches: 1.49.2;
merge ktrace-lwp.
 1.48  27-Nov-2005  thorpej Overhaul how TTY line disciplines are handled:
- Replace references to linesw[0] with a ttyldisc_default() function
that returns the default ("termios") line discipline.
- The linesw[] array is gone, replaced by a linked list.
- ttyldisc_add() and ttyldisc_remove() have been replaced by
ttyldisc_attach() and ttyldisc_detach().
- Things that provide line disciplines are now responsible for
registering those disciplines with the system. The linesw
structures are no longer declared in tty_conf.c
- Line disciplines are now refcounted; a lookup causes a reference to
be held. ttyldisc_release() releases the reference. Attempts to
detach an in-use line discipline result in EBUSY.
- Fix function signature lossage in if_sl.c, if_strip.c, and tty_tb.c
that was masked by the old tty_conf.c
- tty_init() is no longer necessary; delete it and its call from main().
 1.47  21-Jun-2005  ws branches: 1.47.2; 1.47.8;
PR-30566: Poll must not return <sys/errno.h> values.
Start with those places I can easily test.
 1.46  04-Jun-2005  uwe Constify argument to ttyldisc_lookup and ttyldisc_remove.
 1.45  10-Apr-2005  itohy The definition of IRFRAMEDISC (10) is incorrect since the value is dynamic.
The *DISC definition is only for backward compatibility with deprecated
TIOC[GS]ETD ioctls, and not needed for new TIOC[GS]LINED ioctls.
The value of IRFRAMEDISC has never been correct, so we don't have any
compatibility to be kept.
Just remove the IRFRAMEDISC defintion.
 1.44  23-Mar-2004  junyoung branches: 1.44.8;
- Nuke __P().
- Drop trailing spaces.
 1.43  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.42  29-Jun-2003  fvdl branches: 1.42.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.41  28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.40  02-Nov-2002  perry /*CONTCOND*/ while (0)'ed macros
 1.39  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.38  17-Mar-2002  atatat branches: 1.38.4;
Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.37  08-Feb-2002  christos Andrew Brown found that we overflowed all cases in the TTLINEDNAMELEN.
ouch.
 1.36  03-Dec-2001  augustss Add IRFRAMEDISC line discipline.
Also, use symbolic names instead of numbers in a few places.
 1.35  12-Nov-2001  lukem add RCSIDs
 1.34  18-Jul-2001  thorpej branches: 1.34.2; 1.34.4;
bzero -> memset
 1.33  24-May-2001  kristerw branches: 1.33.2;
Removed an incorrect use of __CONCAT when formatting panic messages.

The ISO C standard says in 6.10.3.3 that if the result of using the
'##' operator "is not a valid preprocessing token, the behaviour is
undefined." Gcc 3.0 warns about this.
 1.32  02-May-2001  scw Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
 1.31  11-Feb-2001  eeh branches: 1.31.2;
Rename the tablet line discipline "tablet".
 1.30  15-Nov-2000  enami Adjust nlinesw correctly.
 1.29  15-Nov-2000  enami Cosmetic changes.
 1.28  01-Nov-2000  eeh Make line disciplines modular so they can be added or removed dynamically.
 1.27  22-Sep-2000  eeh Fix unbalanced #endif.
 1.26  22-Sep-2000  eeh The files "kbd.h" and "ms.h" are defined in sys/dev/sun/files.sun. Only
include them for ports that are likely to use the Sun line disciplines.
 1.25  21-Sep-2000  eeh Sun Keyboard/Mouse line discipline support.
 1.24  10-Dec-1998  christos branches: 1.24.8;
defopt COMPAT_43
 1.23  31-Jul-1998  perry fix sizeofs so they comply with the KNF style guide. yes, it is pedantic.
 1.22  25-Jun-1998  thorpej branches: 1.22.2;
defopt COMPAT_FREEBSD
 1.21  22-Mar-1998  mycroft Move the code to wait for carrier on a tty into a common function, since it
depends only on device-independent state bits.
Implement SunOS-style `dialout' devices.
 1.20  01-Mar-1998  fvdl Merge with Lite2 + local changes
 1.19  03-Apr-1997  kleink It's STRIPDISC, not STRIPIPDISC.
 1.18  19-May-1996  jonathan Add line discipline code, initialization, and config support for MosquitoNet's
Metricom Ricochet starmode-radio-IP driver.
 1.17  04-Feb-1996  christos First pass at prototyping
 1.16  10-Oct-1995  mycroft Add hooks for COMPAT_FREEBSD, from Noriyuki Soda.
 1.15  30-Oct-1994  cgd be more careful with types, also pull in headers where necessary.
 1.14  29-Jun-1994  cgd New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.13  20-Jun-1994  paulus fix compilation warning
 1.12  16-Jun-1994  mycroft Compatibility with old code that uses NTTYDISC, if COMPAT_43.
 1.11  12-May-1994  cgd final munge for 4.4-Lite-ness
 1.10  05-May-1994  cgd lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around. kill some unnecessary type and macro
definitions. standardize clock handling. More changes than you'd want.
 1.9  09-Feb-1994  mycroft Remove l_rend and l_meta.
 1.8  18-Dec-1993  mycroft Canonicalize all #includes.
 1.7  02-Nov-1993  glass tablet line discipline compiles and probably works now.
 1.6  31-Oct-1993  glass removed slip and ppp specific prototypes from tty.h where they didn't belong.
moved them to tty_conf.c within #if Nwhatever > 0 where they do belong.
made sure that if_sl.c, and if_ppp.c still compile quietly.
 1.5  14-Aug-1993  deraadt branches: 1.5.2;
ppp from paul mackerras
 1.4  27-Jun-1993  andrew ANSIfications - removed all implicit function return types and argument
definitions. Ensured that all files include "systm.h" to gain access to
general prototypes. Casts where necessary.
 1.3  22-May-1993  cgd add include of select.h if necessary for protos, or delete if extraneous
 1.2  18-May-1993  cgd make kernel select interface be one-stop shopping & clean it all up.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  01-Mar-1998  fvdl Import 4.4BSD-Lite2
 1.1.1.2  01-Mar-1998  fvdl Import 4.4BSD-Lite for reference
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5.2.2  14-Nov-1993  mycroft Canonicalize all #includes.
 1.5.2.1  03-Nov-1993  mycroft Merge changes from trunk.
 1.22.2.1  08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.24.8.4  11-Feb-2001  bouyer Sync with HEAD.
 1.24.8.3  08-Dec-2000  bouyer Sync with HEAD.
 1.24.8.2  22-Nov-2000  bouyer Sync with HEAD.
 1.24.8.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.31.2.8  11-Nov-2002  nathanw Catch up to -current
 1.31.2.7  17-Sep-2002  nathanw Catch up to -current.
 1.31.2.6  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.31.2.5  28-Feb-2002  nathanw Catch up to -current.
 1.31.2.4  08-Jan-2002  nathanw Catch up to -current.
 1.31.2.3  14-Nov-2001  nathanw Catch up to -current.
 1.31.2.2  24-Aug-2001  nathanw Catch up with -current.
 1.31.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.33.2.5  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.33.2.4  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.33.2.3  16-Mar-2002  jdolecek Catch up with -current.
 1.33.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.33.2.1  03-Aug-2001  lukem update to -current
 1.34.4.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.34.2.1  07-Sep-2001  thorpej Commit my "devvp" changes to the thorpej-devvp branch. This
replaces the use of dev_t in most places with a struct vnode *.

This will form the basic infrastructure for real cloning device
support (besides being architecurally cleaner -- it'll be good
to get away from using numbers to represent objects).
 1.38.4.1  16-May-2002  gehenna Fix conflict of namespace.
 1.42.2.7  11-Dec-2005  christos Sync with head.
 1.42.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.42.2.5  21-Sep-2004  skrll Fix the sync with head I botched.
 1.42.2.4  18-Sep-2004  skrll Sync with HEAD.
 1.42.2.3  12-Aug-2004  skrll Sync with HEAD.
 1.42.2.2  03-Aug-2004  skrll Sync with HEAD
 1.42.2.1  02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.44.8.1  29-Apr-2005  kent sync with -current
 1.47.8.1  29-Nov-2005  yamt sync with head.
 1.47.2.4  15-Nov-2007  yamt sync with head.
 1.47.2.3  03-Sep-2007  yamt sync with head.
 1.47.2.2  30-Dec-2006  yamt sync with head.
 1.47.2.1  21-Jun-2006  yamt sync with head.
 1.49.2.1  01-Feb-2006  yamt sync with head.
 1.50.20.2  10-Dec-2006  yamt sync with head.
 1.50.20.1  22-Oct-2006  yamt sync with head
 1.50.18.1  18-Nov-2006  ad Sync with head.
 1.52.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.53.22.1  19-Nov-2007  mjf Sync with HEAD.
 1.53.20.1  13-Nov-2007  bouyer Sync with HEAD
 1.53.16.1  08-Nov-2007  matt sync with -HEAD
 1.53.14.1  11-Nov-2007  joerg Sync with HEAD.
 1.53.2.4  19-Oct-2007  ad In the tty code, defer posting singals to a soft interrupt. Avoids
touching process state from a hardware interrupt, and avoids locking
problems (tty_lock is always held when the signals are sent).
 1.53.2.3  19-Oct-2007  ad Replace the tty locks with a global tty_lock.
 1.53.2.2  15-Jul-2007  ad Initalize the ttyldisc earlier.
 1.53.2.1  21-Mar-2007  ad - Replace more simple_locks, and fix up in a few places.
- Use condition variables.
- LOCK_ASSERT -> KASSERT.
 1.54.18.1  16-May-2008  yamt sync with head.
 1.54.16.1  18-May-2008  yamt sync with head.
 1.54.14.1  02-Jun-2008  mjf Sync with HEAD.
 1.55.60.1  10-Aug-2014  tls Rebase.
 1.55.44.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed