Commit Graph

81 Commits

Author SHA1 Message Date
cegger 28f4ebad5e use device_lookup_private to get softc 2008-06-13 09:41:15 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
tsutsui 440f7c7b53 Split device_t/softc, and misc cosmetic changes. 2008-03-29 06:47:07 +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
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
elad 3bd66d639f Fix typos (tty -> tp), pointed out by Matt Fleming, thanks! 2006-10-01 16:50:11 +00:00
elad b8a339347f Implement the "device" scope.
It uses an authorization wrapper per device class on the system to
ensure type-safety.

For now, it supports only terminal (TTY) devices, and has two actions
for them: "open terminal" and "privileged set". Sample usage has been
added to i386 and hp300 code for reference.

Update documentation.
2006-09-30 20:05:57 +00:00
tsutsui 57878c999b time.tv_sec -> time_second 2006-09-09 11:09:48 +00:00
ad f474dceb13 Use the LWP cached credentials where sane. 2006-07-23 22:06:03 +00:00
tsutsui 7d4b57d7bc Some KNF. 2006-07-21 10:01:39 +00:00
elad 8ccb6c9341 integrate kauth. 2006-05-14 21:55:09 +00:00
thorpej 2be6494fc9 Use device_cfdata(). 2006-03-29 04:16:44 +00:00
thorpej 39cd836ee1 Use device_unit(). 2006-03-28 17:38:24 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
kleink aece7a90fd 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.
2005-09-06 21:40:37 +00:00
tsutsui 99e1f5f2d1 Include "ioconf.h" for struct cfdriver *_cd decls. 2005-03-14 12:50:33 +00:00
thorpej 8ca927b486 Use ANSI function decls, static, and const. 2004-08-28 17:37:00 +00:00
matt 22120ad628 Constify the speedtab arrays 2004-04-25 06:23:40 +00:00
tsutsui b6c031f59c TAB/space cleanup. 2003-11-17 14:37:59 +00:00
agc aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +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
thorpej f4fff81d3a Adapt to ktrace/lwp changes. 2003-06-29 15:49:49 +00:00
gmcgarry 8e726b5268 Clean-up the DIO bus. Includes two main changes:
1) Pass address and ipl locators at attachment;
2) Remove hack which made the internal HP-IB controller
   look like a DIO device.

The hack to allow the nhpib driver to support internal and DIO
controllers appears to be a leftover from 4.3BD where it was not
possible to have a driver attach to different busses.  NetBSD has
supported bus-dependent attachments for a long time.
2003-05-24 06:21:21 +00:00
gmcgarry 9687966318 Fix from Steve Peurifoy in PR#18849:
"Occasionally a blocking open of dcm port 0 will hang in ttyopen()
waiting for carrier detect to be asserted when it's already
present.

The problem is that dcmmint() will return before updating the
value of sc->sc_mcndlast if the device is not open.  If carrier
detect drops after the device is closed, sc->sc_mcndlast will
no longer correctly represent the "previous" state of the
signals when the next transition of carrier detect occurs.
A subsequent blocking open will wait forever for an event
which has in fact taken place."
2003-05-04 02:10:07 +00:00
thorpej bba7685f5f Update for consdev changes. 2003-03-06 18:24:52 +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
gmcgarry 04a46ed198 Fix flow control in dcmmint() by checking termios control flags for
CCTS_OFLOW rather than tty t_flags.  From Steve Peurifoy in PR-18735.
2002-10-20 06:26:39 +00:00
thorpej c5e91d447d Use CFATTACH_DECL(). 2002-10-02 04:55:47 +00:00
thorpej 9a711d6985 Declare all cfattach structures const. 2002-09-27 20:29:02 +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
gmcgarry 97ef6567ad Add RCSIDs. 2002-03-15 05:55:35 +00:00
gmcgarry 49fd989e9b Unnecessary to cast splx() to void. 2002-02-23 21:54:31 +00:00
gmcgarry 9370d5d4ef Update hardware drivers with console attachments to the new console
attachment interface.
2001-12-14 08:34:27 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
scw 2963ff5c58 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.
2001-05-02 10:32:08 +00:00
eeh 5d8e9b343a Adapt to the new line discipline scheme. 2000-11-02 00:35:04 +00:00
thorpej f1821c7811 Adjust for recent ttyopen() and dialout device changes. 1998-03-28 23:49:06 +00:00
thorpej 871cf5e7ce Update for changes to config. 1998-01-12 18:30:41 +00:00
thorpej 2d397943d4 Copyright assigned to The NetBSD Foundation. 1997-10-04 09:59:35 +00:00
thorpej 0a8e2a9ce8 Use dio_intr_establish(). 1997-05-05 20:58:18 +00:00
scottr ea528012b3 dcmreadbuf() should not return immediately if the tty hasn't been opened;
this fixes a kgdb goof.  Found by inspection.
1997-04-15 22:45:14 +00:00
thorpej a78807e04c Update for interrupt function and header name changes. 1997-04-14 02:33:16 +00:00
scottr be3e57de4a Changes to make a dcm-based console work properly:
- While servicing an rx, tx, or modem status interrupt:  if we have a
   NULL struct tty * or if the tty isn't open, just return.
 - Skip the self test if we are the console; it manages to do funny
   things to autoconfig messages.  (XXX - this should be fixed)
1997-04-04 18:16:07 +00:00
scottr aa88a240fe Fix printf() and other warnings when compiled with DEBUG defined. 1997-04-02 22:37:21 +00:00
scottr 52cb2d2955 Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.

Also, handle sc_flags better so that we don't lose track of the
DCM_ISCONSOLE bit.
1997-03-31 07:29:49 +00:00
thorpej f19d55d659 - Garbage-collect the old-style configuration glue.
- Make sure we don't get interrupts in dcmselftest().
1997-01-30 09:11:24 +00:00
thorpej 838edf78fd Snapshot of new config for NetBSD/hp300. This isn't quite finished yet.
We're about 75% there.  SCSI and HP-IB are not yet supported in a new
config kernel; some autoconfiguration hackery has to be done there, yet.
These changes are enough to network boot a diskless kernel.

New config glue is enabled with the "NEWCONFIG" kernel option.  If that
option is not present, an old config kernel will be built.  Any kernel
configured with config(8) will automatically pick up the NEWCONFIG
option from std.hp300.
1996-12-17 08:40:56 +00:00
thorpej 648a1b19ae isrlink() now returns a cookie. We're not interested in the cookie, so
cast to (void).
1996-12-09 03:14:06 +00:00
thorpej 8acf9f0215 Set the device class on non-dull devices. This is a transitional thing. 1996-10-14 07:14:11 +00:00