Commit Graph

38 Commits

Author SHA1 Message Date
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
tsutsui
eabd6921ca Remove register prefixes. 2001-09-05 13:27:53 +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
8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
eeh
3cee90e0e1 Need to provide a consdev to the cons_attach_input call now. 2000-05-21 14:36:15 +00:00
eeh
424619ca1a Fix the sparc64 console.
Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them.  So, here we go:

	Add a new PROM console driver with a major number and everything.
	This is the default driver if nothing else attaches.  It does not
	use the keyboard driver since the PROM translates keystrokes itself.
	(Unfortunately it also swallows L1-A).

	Have the keyboard driver take over the console when it attaches on a
	serial port.  When a serial port detects a keyboard and attaches the
	keyboard driver, it needs to provide a set of consdev vectors.  They
	keyboard driver will use those to send I/O to the keyboard and mouse.
2000-05-19 05:26:16 +00:00
tsutsui
8c8679f1ac Remove declaration of kd_rom_intr(). It is not needed on sun3. 2000-03-31 14:24:03 +00:00
thorpej
7b918b4088 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.
2000-03-23 06:40:33 +00:00
pk
f5839cdae8 Minimal changes to accomodate the console input channel attachment
changes in the keyboard driver (see /sys/dev/sun/kbd*)
2000-03-19 13:29:14 +00:00
thorpej
a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
thorpej
eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
gwr
23b16936e8 Fix build with NFB=0 1998-02-26 16:01:18 +00:00
gwr
196f91101a Make some more things static, and cosmetic stuff. 1997-02-10 23:26:21 +00:00
gwr
a5b114c665 Forgot to initialize cn->cn_dev, cn->cn_pri 1997-02-10 19:11:12 +00:00
gwr
340699a2b1 Fix copyrights (/s/REGENTS/FOUNDATION/) 1997-01-27 19:40:46 +00:00
gwr
0c5e3e4955 Make this compile with -Werror -Wall -Wstrict-prototypes
(finally! yea!)  Also get rid of __BROKEN_INDIRECT_CONFIG
1996-12-17 21:10:35 +00:00
gwr
0332502588 Most files that were copyright Adam Glass and/or Gordon W. Ross
are now copyright The NetBSD Foundation (rights assigned).
1996-11-20 18:56:49 +00:00
christos
a087bfeb5c backout previous kprintf change 1996-10-13 03:47:25 +00:00
christos
19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
mycroft
b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
gwr
8ef4845dec merge 1.2 changes 1996-06-15 14:58:02 +00:00
gwr
035d12359e Remove some hacks that "went around" the linesw[] operations. 1996-04-26 18:36:54 +00:00
gwr
d1ca7d4c47 minor cleanup 1996-04-07 05:47:26 +00:00
gwr
f261ae08c7 Update for the new z8530 driver 1996-01-24 22:39:48 +00:00
gwr
ac1a62db29 Add xxtty() 1995-04-26 23:20:15 +00:00
mycroft
c126c9401f Add a dummy kdstop(). 1995-04-10 07:33:53 +00:00
gwr
cd70d15138 Avoid passing non-ASCII chars to the PROM.
Call PROM at splsoftclock to avoid missing interrupts.
1995-03-28 16:09:41 +00:00
gwr
a1bc8a65f8 Cleanup, and deal with kd != console 1995-03-24 19:48:41 +00:00
gwr
8119e6377d Add kdcnpollc so it can call fb_unblank 1995-03-10 02:09:35 +00:00
gwr
fdca66b8d1 Fix kd (keyboard/display) driver kdcngetc/kdcnputc functions. 1994-12-17 20:14:22 +00:00
gwr
fe52f9ae4f New autoconfig interface to support VME, etc. 1994-12-12 18:58:45 +00:00
gwr
2529298878 Export some headers that X will want, and minor clean-up. 1994-12-01 22:46:23 +00:00
gwr
59bf96aa56 Lots of changes. Fairly stable now. 1994-11-21 21:26:40 +00:00
cgd
20af809ca2 new RCS ID format. 1994-10-26 09:07:55 +00:00
gwr
54fc06357a Fix initialization of keyboard port (works now). 1994-06-03 02:05:18 +00:00
gwr
aa2348a426 cosmetic 1994-05-05 04:46:51 +00:00
gwr
c224b41c38 This provides a tty device for dev/cons.c to point at. 1994-05-04 05:27:50 +00:00