<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/dev/syscons/sysmouse.c, branch release/8.0.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.0.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.0.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2009-11-21T06:13:29Z</updated>
<entry>
<title>Create release/8.0.0 for the 8.0-RELEASE.</title>
<updated>2009-11-21T06:13:29Z</updated>
<author>
<name>Ken Smith</name>
<email>kensmith@FreeBSD.org</email>
</author>
<published>2009-11-21T06:13:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a4d3b78df842614c46b116fc5a6f470be637dccd'/>
<id>urn:sha1:a4d3b78df842614c46b116fc5a6f470be637dccd</id>
<content type='text'>
Approved by:	re (implicit)

This commit was manufactured to restore the state of the 8.0-RELEASE image.
</content>
</entry>
<entry>
<title>Last minute TTY API change: remove mutex argument from tty_alloc().</title>
<updated>2009-05-29T06:41:23Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2009-05-29T06:41:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c5e30cc02b9bee4c53457d1bc4184b256ce1a569'/>
<id>urn:sha1:c5e30cc02b9bee4c53457d1bc4184b256ce1a569</id>
<content type='text'>
I don't want people to override the mutex when allocating a TTY. It has
to be there, to keep drivers like syscons happy. So I'm creating a
tty_alloc_mutex() which can be used in those cases. tty_alloc_mutex()
should eventually be removed.

The advantage of this approach, is that we can just remove a function,
without breaking the regular API in the future.
</content>
</entry>
<entry>
<title>Reduce the default baud rate of PTY's to 9600.</title>
<updated>2008-11-08T20:40:39Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2008-11-08T20:40:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=5bbae50149d116d0afbcbfae3132109add15a74d'/>
<id>urn:sha1:5bbae50149d116d0afbcbfae3132109add15a74d</id>
<content type='text'>
On RELENG_6 (and probably RELENG_7) we see our syscons windows and
pseudo-terminals have the following buffer sizes:

| LINE RAW CAN OUT IHIWT ILOWT OHWT LWT     COL STATE  SESS      PGID DISC
| ttyv0  0   0   0  7680  6720 2052 256       7 OCcl       1146  1146 term
| ttyp0  0   0   0  7680  6720 1296 256       0 OCc       82033 82033 term

These buffer sizes make no sense, because we often have much more output
than input, but I guess having higher input buffer sizes improves
guarantees of the system.

On MPSAFE TTY I just sent both the input and output buffer sizes to 7
KB, which is pretty big on a standard FreeBSD install with 8 syscons
windows and some PTY's. Reduce the baud rate to 9600 baud, which means
we now have the following buffer sizes:

|  LINE   INQ  CAN  LIN  LOW  OUTQ  USE  LOW   COL  SESS  PGID STATE
| ttyv0  1920    0    0  192  1984    0  199     7  2401  2401 Oil
| pts/0  1920    0    0  192  1984    0  199  5631  1305  2526 Oi

This is a lot smaller, but for pseudo-devices this should be good
enough. You need to do a lot of punching to fill up a 7.5 KB input
buffer. If it turns out things don't work out this way, we'll just
switch to 19200 baud.
</content>
</entry>
<entry>
<title>Make sysmouse(4) use its own locks, instead of using Giant.</title>
<updated>2008-08-24T15:20:44Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2008-08-24T15:20:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=dd63e2a189c1ed26fd19f9aabe7db686b14d14b7'/>
<id>urn:sha1:dd63e2a189c1ed26fd19f9aabe7db686b14d14b7</id>
<content type='text'>
When I changed syscons(4) to work with the MPSAFE TTY code, I just
locked all device nodes down using the compatibility feature that allows
you to override the TTY's lock (Giant in this case). Upon closer
inspection, it seems sysmouse(4) only has two internal variables that
need locking: mouse_level and mouse_status.

I haven't done any performance benchmarks on this, though I think it
won't have any dramatic improvements on the system. It is good to get
rid of Giant here, because the third argument of tty_alloc() has only
been added to ease migration to MPSAFE TTY. It should not be used when
not needed.

While there, remove SC_MOUSE, which is a leftover from the MPSAFE TTY
import.
</content>
</entry>
<entry>
<title>Integrate the new MPSAFE TTY layer to the FreeBSD operating system.</title>
<updated>2008-08-20T08:31:58Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2008-08-20T08:31:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=bc093719ca478fe10b938cef32c30b528042cbcd'/>
<id>urn:sha1:bc093719ca478fe10b938cef32c30b528042cbcd</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>In keeping with style(9)'s recommendations on macros, use a ';'</title>
<updated>2008-03-16T10:58:09Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2008-03-16T10:58:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=237fdd787b20699fc2c01387011b06a9ce746cfa'/>
<id>urn:sha1:237fdd787b20699fc2c01387011b06a9ce746cfa</id>
<content type='text'>
after each SYSINIT() macro invocation.  This makes a number of
lightweight C parsers much happier with the FreeBSD kernel
source, including cflow's prcc and lxr.

MFC after:	1 month
Discussed with:	imp, rink
</content>
</entry>
<entry>
<title>Sweep kernel replacing suser(9) calls with priv(9) calls, assigning</title>
<updated>2006-11-06T13:42:10Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2006-11-06T13:42:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=acd3428b7d3e94cef0e1881c868cb4b131d4ff41'/>
<id>urn:sha1:acd3428b7d3e94cef0e1881c868cb4b131d4ff41</id>
<content type='text'>
specific privilege names to a broad range of privileges.  These may
require some future tweaking.

Sponsored by:           nCircle Network Security, Inc.
Obtained from:          TrustedBSD Project
Discussed on:           arch@
Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
                        Alex Lyashkov &lt;umka at sevcity dot net&gt;,
                        Skip Ford &lt;skip dot ford at verizon dot net&gt;,
                        Antoine Brodin &lt;antoine dot brodin at laposte dot net&gt;
</content>
</entry>
<entry>
<title>Fix -Wundef.</title>
<updated>2005-12-04T02:12:43Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2005-12-04T02:12:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f4e98881073f261956da27827173b990cd9c7bd5'/>
<id>urn:sha1:f4e98881073f261956da27827173b990cd9c7bd5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove debug printout of major/minor numbers, print name instead.</title>
<updated>2005-02-27T21:16:26Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-02-27T21:16:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7ce296cf0466d691442ed9a35c51ffdf779893ef'/>
<id>urn:sha1:7ce296cf0466d691442ed9a35c51ffdf779893ef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add new function ttyinitmode() which sets our systemwide default</title>
<updated>2004-10-18T21:51:27Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2004-10-18T21:51:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=95bc56897714a12b8e95c92dd8e1a70f1154162d'/>
<id>urn:sha1:95bc56897714a12b8e95c92dd8e1a70f1154162d</id>
<content type='text'>
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.
</content>
</entry>
</feed>
