Home | History | Annotate | Download | only in sun
History log of /src/sys/dev/sun/ms.c
RevisionDateAuthorComments
 1.40  25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.39  16-Mar-2014  dholland branches: 1.39.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.38  11-Jan-2009  christos branches: 1.38.14; 1.38.24; 1.38.28;
retain compatibility with old firm_event. Perhaps we should bump the protocol
version with an ioctl?
 1.37  20-Apr-2008  tsutsui branches: 1.37.2; 1.37.10;
- use device_lookup_private() where appropriate
- some KNF and cosmetics
 1.36  29-Mar-2008  tsutsui branches: 1.36.2;
Split softc and device_t for zsc(4) and its children.

XXX we should restructure MI APIs and make it really machine independent.
 1.35  04-Mar-2007  christos branches: 1.35.36;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.34  12-Nov-2006  plunky branches: 1.34.4;
Tidy away wsmouse_input() abstractions and update
documentation to include the W direction.
 1.33  15-Oct-2006  martin Missing initializers
 1.32  07-Jun-2006  kardel branches: 1.32.6; 1.32.8;
merge FreeBSD timecounters from branch simonb-timecounters
- struct timeval time is gone
time.tv_sec -> time_second
- struct timeval mono_time is gone
mono_time.tv_sec -> time_uptime
- access to time via
{get,}{micro,nano,bin}time()
get* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf
NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
 1.31  10-Mar-2006  macallan branches: 1.31.4;
Make external mice work on Tadpole SPARCbook
The tadpole microcontroller sets an additional bit in frame headers from
an external mouse which caused our driver to discard the frame - now we
just ignore the bit.
 1.30  11-Dec-2005  christos branches: 1.30.4; 1.30.6; 1.30.8; 1.30.10;
merge ktrace-lwp.
 1.29  27-Feb-2005  perry branches: 1.29.4;
nuke trailing whitespace
 1.28  21-Sep-2003  jdolecek branches: 1.28.8; 1.28.10;
cleanup & uniform descriptor owner handling:
* introduce fsetown(), fgetown(), fownsignal() - this sets/retrieves/signals
the owner of descriptor, according to appropriate sematics
of TIOCSPGRP/FIOSETOWN/SIOCSPGRP/TIOCGPGRP/FIOGETOWN/SIOCGPGRP ioctl; use
these routines instead of custom code where appropriate
* make every place handling TIOCSPGRP/TIOCGPGRP handle also FIOSETOWN/FIOGETOWN
properly, and remove the translation of FIO[SG]OWN to TIOC[SG]PGRP
in sys_ioctl() & sys_fcntl()
* also remove the socket-specific hack in sys_ioctl()/sys_fcntl() and
pass the ioctls down to soo_ioctl() as any other ioctl

change discussed on tech-kern@
 1.27  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.26  29-Jun-2003  fvdl branches: 1.26.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.25  29-Jun-2003  darrenr More changes for providing lwpid for ktrace (sparc GENERIC built)
 1.24  30-May-2003  petrov wsmouse for ms@tty.
 1.23  23-Oct-2002  jdolecek merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.22  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.21  13-Nov-2001  lukem branches: 1.21.8;
add RCSIDs
 1.20  27-Sep-2000  abs branches: 1.20.2; 1.20.4; 1.20.6;
Add missing cast of ms to (struct device *) in ms_deviopen and ms_deviclose
 1.19  21-Sep-2000  eeh Support for Sun Keyboard/Mouse line disciplines.
 1.18  30-Mar-2000  augustss Remove register declarations.
 1.17  02-Aug-1999  matt branches: 1.17.2;
The Tadpole 3GX uses a modified Sun Mouse protocol. Instead of
sending 5 bytes per sample, it sends 3 omitting the 2nd set of
dx/dy updates. You can distinguish between the two forms since
the first byte of 5-bytes seq will be 0b10000xxx which a 3-byte
will have 0b10001xxx. This changes allows the Xsun server to
run unchanged on the Tadpole 3GX (ignoring for now that the
colormap is still broken).
 1.16  14-May-1999  mrg split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.
 1.15  03-Feb-1999  mycroft branches: 1.15.4;
Catch up with a change to the stint interface.
 1.14  29-Sep-1998  jeremy Changed to allow the mouse baud rate to be set at kernel compile time.
Inspired by Mochida Shuji <mocid@yo.rim.or.jp>.
 1.13  12-Jan-1998  thorpej Update for changes to config.
 1.12  17-Jul-1997  jtk use locator defines in "locators.h" to index cf_loc[]
 1.11  17-Dec-1996  gwr Adapt to the new definition of struct zsc_softc
(the zsc_cs[2] members are now POINTERS!)
Also fix warnings...
 1.10  16-Oct-1996  gwr Replace the field cs_rr0_new with cs_rr0_delta (keep changes instead).
 1.9  13-Oct-1996  christos backout kprintf changes
 1.8  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.7  09-Oct-1996  mrg select -> poll
 1.6  17-May-1996  gwr Rename cs_pclk_div16 to cs_brg_clk to clarify the fact that the
Baud Rate Generator (BRG) clock is not necessarily PCLK/16.
 1.5  10-Apr-1996  gwr Make the ring size configurable in the tty driver.
Make the pseudo-interrupt functions return void.
Call the tty layer at spltty (to be safe).
 1.4  17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.3  19-Feb-1996  gwr Attach should get unit from _dev.dv_unit not sc_unit
 1.2  30-Jan-1996  gwr Eliminate remaining direct references to the z8530 chip
to allow the MD access functions to do delays, etc.
 1.1  24-Jan-1996  gwr branches: 1.1.1;
Initial revision
 1.1.1.1  24-Jan-1996  gwr New "child" drivers for Sun keyboard and mouse attached to z8530sc.
 1.15.4.2  02-Aug-1999  thorpej Update from trunk.
 1.15.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.17.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.20.6.2  11-Oct-2001  fvdl Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.
 1.20.6.1  10-Oct-2001  fvdl Convert all remaining devices.
 1.20.4.3  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.20.4.2  17-Jun-2002  jdolecek add kqfilter hook, using ev_kqfilter()
 1.20.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.20.2.3  11-Nov-2002  nathanw Catch up to -current
 1.20.2.2  17-Sep-2002  nathanw Catch up to -current.
 1.20.2.1  14-Nov-2001  nathanw Catch up to -current.
 1.21.8.1  16-May-2002  gehenna Add the character device switch.
 1.26.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.26.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.26.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.26.2.2  26-Aug-2004  skrll Adapt to branch.

sparc64 GENERIC compiles.
 1.26.2.1  03-Aug-2004  skrll Sync with HEAD
 1.28.10.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.28.8.1  29-Apr-2005  kent sync with -current
 1.29.4.3  03-Sep-2007  yamt sync with head.
 1.29.4.2  30-Dec-2006  yamt sync with head.
 1.29.4.1  21-Jun-2006  yamt sync with head.
 1.30.10.1  19-Apr-2006  elad sync with head.
 1.30.8.2  26-Jun-2006  yamt sync with head.
 1.30.8.1  13-Mar-2006  yamt sync with head.
 1.30.6.2  27-May-2006  kardel convert to timecounters
 1.30.6.1  22-Apr-2006  simonb Sync with head.
 1.30.4.1  09-Sep-2006  rpaulo sync with head
 1.31.4.1  19-Jun-2006  chap Sync with head.
 1.32.8.2  10-Dec-2006  yamt sync with head.
 1.32.8.1  22-Oct-2006  yamt sync with head
 1.32.6.1  18-Nov-2006  ad Sync with head.
 1.34.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.35.36.3  17-Jan-2009  mjf Sync with HEAD.
 1.35.36.2  02-Jun-2008  mjf Sync with HEAD.
 1.35.36.1  03-Apr-2008  mjf Sync with HEAD.
 1.36.2.1  18-May-2008  yamt sync with head.
 1.37.10.1  19-Jan-2009  skrll Sync with HEAD.
 1.37.2.1  04-May-2009  yamt sync with head.
 1.38.28.1  18-May-2014  rmind sync with head
 1.38.24.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.38.14.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.39.2.1  10-Aug-2014  tls Rebase.

RSS XML Feed