Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/cy.c
RevisionDateAuthorComments
 1.63  26-Oct-2022  riastradh cy(4): Convert to ttylock/ttyunlock.
 1.62  10-Nov-2019  chs in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.61  28-Oct-2017  riastradh branches: 1.61.4;
Kill some more extern struct cfdriver declarations.

Down with externs in .c!
 1.60  15-Nov-2014  christos centralize the dialout/call unit macros.
 1.59  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.58  24-Apr-2011  rmind branches: 1.58.14; 1.58.28;
Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency. Remove some unnecessary malloc.h inclusions as well.
 1.57  23-Nov-2009  rmind branches: 1.57.4; 1.57.6;
Remove some unecessary includes sys/user.h header.
 1.56  25-May-2008  ad Properly fix the "hanging in tty" bug that was worked around with cv_wakeup()
some time again.
 1.55  26-Mar-2008  matt branches: 1.55.2; 1.55.4; 1.55.6;
split device_t/softc. Use aprint_*_dev and device_xname.
switch to device_lookup_private.
 1.54  19-Nov-2007  ad branches: 1.54.14;
- Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
 1.53  07-Nov-2007  ad Merge tty changes from the vmlocking branch.
 1.52  19-Oct-2007  ad branches: 1.52.2;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.51  09-Jul-2007  ad branches: 1.51.6; 1.51.8; 1.51.12;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.50  04-Mar-2007  christos branches: 1.50.2; 1.50.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.49  29-Jan-2007  hubertf branches: 1.49.2;
Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.
 1.48  16-Nov-2006  christos __unused removal on arguments; approved by core.
 1.47  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.46  01-Oct-2006  elad More from Matt Fleming:

Adapt to KAUTH_DEVICE_TTY_PRIVSET and KAUTH_DEVICE_TTY_OPEN.
 1.45  01-Oct-2006  elad Adapt MD code to KAUTH_DEVICE_TTY_OPEN, batch #2 from Matt Fleming, thanks!

Also, add forgotten splx() calls in some places.
 1.44  21-Jul-2006  ad branches: 1.44.4; 1.44.6;
- Use the LWP cached credentials where sane.
- Minor cosmetic changes.
 1.43  21-May-2006  christos void casts to functions whose return values are ignored.
 1.42  14-May-2006  elad branches: 1.42.2;
integrate kauth.
 1.41  14-May-2006  christos XXX: GCC uninitialized
 1.40  05-Mar-2006  christos branches: 1.40.2; 1.40.4;
cleanup more SET/CLR/ISSET lossage
 1.39  11-Dec-2005  christos branches: 1.39.4; 1.39.6; 1.39.8;
merge ktrace-lwp.
 1.38  06-Sep-2005  kleink Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges. Noted by David Holland in PR kern/31126.
 1.37  27-Feb-2005  perry branches: 1.37.4;
nuke trailing whitespace
 1.36  31-Oct-2003  reinoud branches: 1.36.8; 1.36.10;
Rollback
 1.35  31-Oct-2003  reinoud Make it compile under gcc 2.95 again. Without the patch it gives an `might
be used uninitialised' warning.
 1.34  29-Oct-2003  mycroft Recode to remove bogus initializer.
 1.33  25-Oct-2003  christos Fix uninitialized variable warnings
 1.32  29-Jun-2003  fvdl branches: 1.32.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.31  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.30  31-Jan-2003  thorpej Use aprint_*().
 1.29  06-Jan-2003  wiz successful with only one l.
 1.28  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.27  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.26  17-Mar-2002  atatat branches: 1.26.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.25  15-Nov-2001  lukem don't need <sys/types.h> when including <sys/param.h>
 1.24  13-Nov-2001  lukem add/cleanup RCSID
 1.23  07-Jul-2001  thorpej branches: 1.23.2; 1.23.4;
bzero -> memset
 1.22  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.21  21-Jan-2001  thorpej branches: 1.21.2;
Untangle some spl-spaghetti in cy_modem_control().
 1.20  20-Jan-2001  thorpej Pack the minor numbers like the Cyclades-Z driver does, and
make the dialout bit compatible with the other serial drivers
(and with what MAKEDEV generates for dtyCYxxx).
 1.19  20-Jan-2001  thorpej Only need to pass a cy_softc * to cy_attach().
 1.18  20-Jan-2001  thorpej ANSI'ify.
 1.17  20-Jan-2001  thorpej Clean up the PCI attachment a bit, and adjust the other pieces
to suit.
 1.16  01-Nov-2000  eeh Adapt to the new line discipline scheme.
 1.15  08-Jul-2000  sommerfeld When receiving an rx interrupt on a closed or unconfigured port, read
the data out of the board anyway so it won't re-interrupt anyway.
Fix tested by C Kane <ckane@best.com>
 1.14  06-Jul-2000  thorpej Use device_lookup().
 1.13  29-May-2000  tsubai branches: 1.13.2;
* Support (not so) new cards. (only Cyclom-8YsP+ is tested)
* Make compilable with CY_DEBUG.
 1.12  23-Mar-2000  thorpej branches: 1.12.2;
New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.11  09-Sep-1999  tron branches: 1.11.2;
Add support for Cyclade boards with new Risc II serial controller.
Patches supplies by C Kane in PR kern/7175.
 1.10  22-Mar-1998  mycroft branches: 1.10.8;
Fix error in previous change.
 1.9  21-Mar-1998  mjacob Well, I don't have a Cyclades board, but I needed the alpha kernels
to compile. I made the changes that seemed to make sense tracking the
shift from TS_WOPEN to tp->t_wopen- but they may be wrong. I wasn't
subscribed to tech-kern so I missed the discussion, and C. Hannum
was not particularly enlightening. Sorry if this isn't quite right.
 1.8  12-Jan-1998  thorpej Adjust for config changes.
 1.7  17-Jun-1997  cgd fix several bugs pointed out by Jarkko Torppa <torppa@cute.fi> in PR 3753:
(1) fix a printf format (%x to print int, not %lx).
(2) fix probe of 4th chip/16th channel (used to tell whether or not the
board is a 16- or 32-port board) by removing an incorrect offset so
that the code matched its comments. (!!!)
(3) fix storage of chip number in per-channel structure so that it actually
stores the chip number, rather than the chip offset. This allows the
driver to work with more than the first four channels (i.e. with chips
other than chip number 0, which happens to have an offset of zero). (!!!)
 1.6  13-Apr-1997  cgd clean up an autoconfiguration printf. Much more should be done
 1.5  21-Oct-1996  thorpej New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
devices. It's all "bus space" now, and space tags
differentiate the space with finer grain than the
bus chipset tag.
- Add memory barrier methods.
- Implement space alloc/free methods.
- Implement region read/write methods (like memcpy to/from
bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
 1.4  13-Oct-1996  christos backout kprintf changes
 1.3  10-Oct-1996  christos - printf -> kprintf, sprintf -> ksprintf
- fix a bug where tp was used before it was initialized
- remove unused variable
 1.2  26-Sep-1996  thorpej Use "cy_port_num" rather than "cy_port" where appropriate.
 1.1  24-Sep-1996  christos New Cyclades driver from Timo Rossi
 1.10.8.2  03-Jun-2000  he Pull up revision 1.13 (requested by tsubai):
Add support for PCI variants of Cyclom-4Y and -8Y cards.
Also fixes PR#7175 (new serial controller).
 1.10.8.1  03-Jun-2000  he Pull up revision 1.11 (requested by tsubai):
Add support for PCI variants of Cyclom-4Y and -8Y cards.
 1.11.2.3  11-Feb-2001  bouyer Sync with HEAD.
 1.11.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.11.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.12.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.13.2.1  10-Nov-2000  tv Pullup 1.15 [sommerfeld]:
When receiving an rx interrupt on a closed or unconfigured port, read
the data out of the board anyway so it won't re-interrupt anyway.
Fix tested by C Kane <ckane@best.com>
 1.21.2.8  07-Jan-2003  thorpej Sync with HEAD.
 1.21.2.7  11-Nov-2002  nathanw Catch up to -current
 1.21.2.6  17-Sep-2002  nathanw Catch up to -current.
 1.21.2.5  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.21.2.4  08-Jan-2002  nathanw Catch up to -current.
 1.21.2.3  14-Nov-2001  nathanw Catch up to -current.
 1.21.2.2  24-Aug-2001  nathanw Catch up with -current.
 1.21.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.23.4.3  13-Oct-2001  fvdl Revert the t_dev -> t_devvp change in struct tty. The way that tty
structs are currently used (especially by console ttys) aren't
ready for it, and this will require quite a few changes.
 1.23.4.2  26-Sep-2001  fvdl * add a VCLONED vnode flag that indicates a vnode representing a cloned
device.
* rename REVOKEALL to REVOKEALIAS, and add a REVOKECLONE flag, to pass
to VOP_REVOKE
* the revoke system call will revoke all aliases, as before, but not the
clones
* vdevgone is called when detaching a device, so make it use REVOKECLONE
to get rid of all clones as well
* clean up all uses of VOP_OPEN wrt. locking.
* add a few VOPS to spec_vnops that need to do something when it's a
clone vnode (access and getattr)
* add a copy of the vnode vattr structure of the original 'master' vnode
to the specinfo of a cloned vnode. could possibly redirect getattr to
the 'master' vnode, but this has issues with revoke
* add a vdev_reassignvp function that disassociates a vnode from its
original device, and reassociates it with the specified dev_t. to be
used by cloning devices only, in case a new minor is allocated.
* change all direct references in drivers to v_devcookie and v_rdev
to vdev_privdata(vp) and vdev_rdev(vp). for diagnostic purposes
when debugging race conditions that still exist wrt. locking and
revoking vnodes.
* make the locking state of a vnode consistent when passed to
d_open and d_close (unlocked). locked would be better, but has
some deadlock issues
 1.23.4.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.23.2.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.23.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.23.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.26.4.1  16-May-2002  gehenna Add the character device switch.
 1.32.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.32.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.32.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.32.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.32.2.2  03-Aug-2004  skrll Sync with HEAD
 1.32.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.36.10.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.36.8.1  29-Apr-2005  kent sync with -current
 1.37.4.7  07-Dec-2007  yamt sync with head
 1.37.4.6  15-Nov-2007  yamt sync with head.
 1.37.4.5  27-Oct-2007  yamt sync with head.
 1.37.4.4  03-Sep-2007  yamt sync with head.
 1.37.4.3  26-Feb-2007  yamt sync with head.
 1.37.4.2  30-Dec-2006  yamt sync with head.
 1.37.4.1  21-Jun-2006  yamt sync with head.
 1.39.8.3  11-Aug-2006  yamt sync with head
 1.39.8.2  24-May-2006  yamt sync with head.
 1.39.8.1  13-Mar-2006  yamt sync with head.
 1.39.6.2  01-Jun-2006  kardel Sync with head.
 1.39.6.1  22-Apr-2006  simonb Sync with head.
 1.39.4.1  09-Sep-2006  rpaulo sync with head
 1.40.4.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.40.2.2  10-Mar-2006  elad generic_authorize() -> kauth_authorize_generic().
 1.40.2.1  08-Mar-2006  elad Adapt to kernel authorization KPI.
 1.42.2.1  19-Jun-2006  chap Sync with head.
 1.44.6.2  10-Dec-2006  yamt sync with head.
 1.44.6.1  22-Oct-2006  yamt sync with head
 1.44.4.2  01-Feb-2007  ad Sync with head.
 1.44.4.1  18-Nov-2006  ad Sync with head.
 1.49.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.50.4.1  11-Jul-2007  mjf Sync with head.
 1.50.2.4  23-Oct-2007  ad Sync with head.
 1.50.2.3  19-Oct-2007  ad Replace the tty locks with a global tty_lock.
 1.50.2.2  01-Jul-2007  ad Adapt to callout API change.
 1.50.2.1  05-Apr-2007  ad Compile fixes.
 1.51.12.3  21-Nov-2007  bouyer Sync with HEAD
 1.51.12.2  13-Nov-2007  bouyer Sync with HEAD
 1.51.12.1  25-Oct-2007  bouyer Sync with HEAD.
 1.51.8.3  09-Jan-2008  matt sync with HEAD
 1.51.8.2  08-Nov-2007  matt sync with -HEAD
 1.51.8.1  06-Nov-2007  matt sync with HEAD
 1.51.6.3  21-Nov-2007  joerg Sync with HEAD.
 1.51.6.2  11-Nov-2007  joerg Sync with HEAD.
 1.51.6.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.52.2.2  08-Dec-2007  mjf Sync with HEAD.
 1.52.2.1  19-Nov-2007  mjf Sync with HEAD.
 1.54.14.2  02-Jun-2008  mjf Sync with HEAD.
 1.54.14.1  03-Apr-2008  mjf Sync with HEAD.
 1.55.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.55.4.2  11-Mar-2010  yamt sync with head
 1.55.4.1  04-May-2009  yamt sync with head.
 1.55.2.1  04-Jun-2008  yamt sync with head
 1.57.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.57.4.1  31-May-2011  rmind sync with head
 1.58.28.1  10-Aug-2014  tls Rebase.
 1.58.14.2  03-Dec-2017  jdolecek update from HEAD
 1.58.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.61.4.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed