Commit Graph

56 Commits

Author SHA1 Message Date
mlelstv
8de4cc7236 Avoid crash under LOCKDEBUG by destroying a mutex correctly.
Also: move mutex init/destroy into attach/detach functions and
handle case where line discipline is closed before the irframe
device. Fixes PR kern/40271.
2009-01-11 14:28:13 +00:00
christos
461a86f9bd merge christos-time_t 2009-01-11 02:45:45 +00:00
ad
5e4b324300 Properly fix the "hanging in tty" bug that was worked around with cv_wakeup()
some time again.
2008-05-25 19:22:21 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
cube
a6b5eb2b1d Split device_t and softc for irframe(4). 2008-03-14 21:06:04 +00:00
rmind
c6186face4 Welcome to 4.99.55:
- Add a lot of missing selinit() and seldestroy() calls.

- Merge selwakeup() and selnotify() calls into a single selnotify().

- Add an additional 'events' argument to selnotify() call.  It will
  indicate which event (POLL_IN, POLL_OUT, etc) happen.  If unknown,
  zero may be used.

Note: please pass appropriate value of 'events' where possible.
Proposed on: <tech-kern>
2008-03-01 14:16:49 +00:00
perry
9b2b412c19 __FUNCTION__ -> __func__ 2007-12-15 00:39:14 +00:00
pooka
4e38160d4d Do not "return 1" from kqfilter for errors. That value is passed
directly to the userland caller and results in a mysterious EPERM.
Instead, return EINVAL or something else sensible depending on the
case.
2007-12-05 17:19:46 +00:00
ad
6874e511b7 lockmgr -> mutex 2007-12-05 07:58:29 +00:00
ad
dc26833bb6 - Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
2007-11-19 18:51:36 +00:00
ad
0f8b0df960 Call ttyflush() with tty_lock held. 2007-11-10 18:29:36 +00:00
ad
d37935697b Merge tty changes from the vmlocking branch. 2007-11-07 15:56:11 +00:00
ad
88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
drochner
af336998bf In the pseudo-dev attach function, also try to register the struct cfdriver
of the backend irframe device with autoconf. This might fail or not,
depending on whether another frontend was configured. It helps if
irframetty is the only frontend.
This is a workaround for some inconsistencies in the interaction of
pseudo-devices with the autoconf framework. A fix will require changes
to config(8) which needs more consideration and testing.
Should fix a crash reported by Dieter Baron per PM.
2007-03-08 19:35:44 +00:00
drochner
e612542ff1 clean up and fix irframe attachment as a line discipline:
make it a regular "bus frontend" in terms of configuration attachment
(this is something new: a device which can be real or pseudo device),
and use only autoconf functions considered exported.
This suffers a bit from the fact that pseudo-devices don't get "aux"
context data passed to the xxx_attach() function. This can be changed
easily; the differences between real and pseudo devices are diminishing...
2007-03-06 20:45:59 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
christos
168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
christos
4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
peter
75809b1d7f Fix compilation with IRFRAMET_DEBUG (use %zu/%zd for sizes). 2006-10-07 14:31:53 +00:00
elad
bdc51baebb Adapt MD code to KAUTH_DEVICE_TTY_OPEN, batch #2 from Matt Fleming, thanks!
Also, add forgotten splx() calls in some places.
2006-10-01 19:28:43 +00:00
ad
3029ac48c7 - Use the LWP cached credentials where sane.
- Minor cosmetic changes.
2006-07-21 16:48:45 +00:00
christos
f6ad6a2699 stack police: Fix the biggest offender with ~4K stack, by allocating the
buffer in the softc.
2006-06-09 21:58:57 +00:00
elad
2867b68bc3 integrate kauth. 2006-05-14 21:42:26 +00:00
thorpej
39cd836ee1 Use device_unit(). 2006-03-28 17:38:24 +00:00
christos
1b2709754a cleanup more SET/CLR/ISSET lossage 2006-03-05 17:33:33 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
thorpej
7d00e1aff3 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().
2005-11-27 05:35:52 +00:00
christos
a4815f1c7b - remove Static define
- avoid variable shadowing.
2005-05-29 22:15:25 +00:00
perry
f31bd063e9 nuke trailing whitespace 2005-02-27 00:26:58 +00:00
lukem
365cbd9428 add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
fvdl
d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr
960df3c8d1 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
2003-06-28 14:20:43 +00:00
uwe
22ce30e3bd Rename struct frame to irt_frame to avoid name clash with struct frame
in <arm/arm32/frame.h>.
2003-06-13 15:09:17 +00:00
christos
514f7047e4 si_ -> sel_ 2002-11-26 18:49:40 +00:00
jdolecek
e0cc03a09b 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
2002-10-23 09:10:23 +00:00
gehenna
77a6b82b27 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.
2002-09-06 13:18:43 +00:00
atatat
31144d9976 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.
2002-03-17 19:40:26 +00:00
augustss
996d5c6c26 Be a little more paranoid. 2001-12-26 10:56:58 +00:00
augustss
4668f40616 Don't forget to call start routine in dongle manipulation. 2001-12-20 11:30:13 +00:00
augustss
28318702e6 Rearrange code that wiggles modem control lines so it actually reaches
the com port driver.
2001-12-20 09:26:35 +00:00
augustss
142cdc8997 Rearrage softc a little. 2001-12-14 12:56:58 +00:00
augustss
f2821a312a Fix TODO comment. 2001-12-13 17:14:21 +00:00
augustss
090d1a628e Move parameter checks to a common place. 2001-12-13 15:09:07 +00:00
augustss
3ed67fc0c4 Add missing delay for the tekram dongle. 2001-12-12 17:52:06 +00:00
augustss
5c0685d35e Don't use timeout 0 to tsleep() when the time is short. 2001-12-12 17:21:36 +00:00
augustss
5ef96ebab2 Don't crash on early calls to get the speeds. 2001-12-06 00:11:18 +00:00
augustss
47fffba901 Add dongle specific code. 2001-12-05 19:59:54 +00:00
augustss
8c2cf4c7d8 Break out SIR framing to its own file. 2001-12-05 14:50:13 +00:00
augustss
9c8fe0b8c5 Put bytes on right q. 2001-12-05 04:31:02 +00:00
augustss
af5eb6fc8c Fix some minor bug.
Add more debugging.
2001-12-05 04:07:06 +00:00