Commit Graph

69 Commits

Author SHA1 Message Date
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
simonb
c23e6dcb90 b{cmp,copy,zero} -> mem{cmp,cpy,set}
Also remove some unnecessary argument casts.
2001-07-07 14:20:59 +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
enami
2ceebb6c0e Remove unnecessary test of tp->t_linesw against NULL; they are results
of confusion while correcting compilation error after t_line is
replaced with t_linesw.
2001-03-31 00:35:21 +00:00
simonb
dde480911e Fix up line discipline change fallout. 2000-11-03 15:01:10 +00:00
eeh
8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +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
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
nisimura
43917001c7 - Add missing "opt_ddb.h" to dc.c and dtop.c (oh, boy)
- Nuke irrelevant "dcvar.h" and "tc.h" inclusion from dc.c
- Put '#if NRASTERCONSOLE > 0' around scc_lk201_cnattach().
2000-02-09 08:29:40 +00:00
nisimura
3aaeaf7331 - Massive change of console initialization. Have each model its own
consinit().
- Fix fbconnect() and relatives; 'struct fbinfo' is initialized only once,
  making sure no extraneous console resolution message is emitted.
2000-02-03 04:09:01 +00:00
simonb
ede7778a1c Remove unneeded include files (up to 16 in two files!). 2000-01-10 03:24:31 +00:00
simonb
636b65bec8 The clean-up continues:
- Make local-only function and variables static.
 - Move function prototypes and extern variable declarations to
   header files.
 - Delete unused variables.
There's still a handful of extern declaraions that should be fixed up.
2000-01-09 03:55:28 +00:00
simonb
ee075b7de7 Function prototype cleanup. 2000-01-08 01:02:35 +00:00
simonb
770f6c71b8 Fix tyop in comment. 2000-01-06 05:22:07 +00:00
simonb
49ee67c77e Include qvssvar.h to get mouseInput() prototype. 1999-12-30 01:01:48 +00:00
ad
977ce29db3 Rectify the jumbled naming scheme of routines in lk201.c. Function names
are now lower case and prefixed by 'lk_'. XXX lk_mouseinit() is bogus. It
belongs somewhere else.
1999-12-23 15:34:17 +00:00
simonb
04f70ed884 Add a flags variable to dc softc, and when attaching a dc determine
(via systype) whether or not it is possible for a keyboard and mouse
to be attached.  The console on a 5100 now works!
1999-12-03 13:07:35 +00:00
ad
0daccde651 - When kbdMapChar() was modified to support returning multi-character
mappings, it broke Ctrl-Space; fix that.
- Clean up lk201.c a little.
1999-11-29 15:02:38 +00:00
simonb
1dd2a74d0a Only all the kbd/mouse init functions if NRASTERCONSOLE > 0. 1999-11-19 02:17:01 +00:00
mhitch
27a8dc486b Use console_debugger() to enter DDB on a break, instead of Debugger(). It
can now be controlled with sysctl on the 3100 & 5000/200.
1999-11-13 22:58:11 +00:00
thorpej
11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
simonb
dc1d3940db Nuke register and remove trailling white space. 1999-04-24 08:01:01 +00:00
ad
3ce634a350 Added support for cursor keys, function keys and friends. kbdMapChar now
returns 'char *' to do this. Codes returned for the various keys match
what 'rcons' termcap entry expects.
1999-03-22 03:25:29 +00:00
jonathan
34fe177e8e * Use dc_tty_init() to set serial-console line state both for boot-time
console setup and driver attach-time.
* Dont wire potential console lines as CLOCAL; use softcar.
* #ifdef tests on #ifdef NRASTERCONSOLE, not HAVE_RCONS.
1998-11-29 00:28:29 +00:00
jonathan
cdc3ba978c Remove last vestiges of console special-case handling:
* use dc_coldparam() in dc_tty_init(), dc_kbd_init().
 * use dc_tty_init() to set line for serial console in dc_consinit()
 * only call dc_mouse_init() if the console major-number  is RCONSDEV.
1998-11-28 09:52:55 +00:00
jonathan
466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
jonathan
6525db3fdb Update dc_ds.c to use new ibus attach args.
Garbage collect obsolete front-end from dc.c backend.
Partially clean up console init code.
1998-04-19 10:44:41 +00:00
jonathan
d850158a7e Garbage-collect pmax_boardtype. Remoe pmaxtype.h includes from TC
framebuffer code. Elsewhere, use systype.
1998-03-31 11:32:52 +00:00
thorpej
dd3d062237 Delete a couple of gratuitous printfs. 1998-03-26 06:36:36 +00:00
jonathan
5dbbcd7d4d Garbage-collect BRAINDAMAGEd code (see pr 4438).
Attachment of keyboards and mice needs more work.
1998-03-25 06:27:32 +00:00
jonathan
6d836436ac Commit snapshot of pmax console rework as basepoint for 1.3.2 pullup:
* Do rcons output properly, using cn_tab->cn_dev which points
   at rcons cdevsw entrypoints.

 * The pmadx console code was using keyboard (serial) device
   (major,minor) for raster consoles with special code in the keyboard
   drivers to catch output intended for consoles, pull it off the device
   queue, and print them via cnputc().
   Ifdef out  RCONS_BRAINDAMAGE.

* Other minor cleanup to pmax scc driver.
1998-03-24 00:23:55 +00:00
jonathan
9a8dbd75df Clone lk20.h (keycode definitions) to /sys/dev/dec.
Update source pmax files accordingly.
cvs remove old pmax/dev/lk201.h.
1998-03-22 09:27:07 +00:00
jonathan
6e3073d769 More tty dialin/dialout changes (t_wopen).
NB: dtop is a keyboard/mouse bus and doesn't support dialout.
1998-03-22 07:04:13 +00:00
thorpej
0475e09198 Update for changes to config. 1998-01-12 20:04:24 +00:00
mhitch
4f4912d825 If DDB is defined, and RBUF_FERR occurs on a serial console port, enter ddb.
Fixes PR 4173.
1997-11-21 17:26:29 +00:00
jonathan
0f41aef4b9 Workaround for port-pmax/4438 (pmax kernel glass-tty console code is broken)
until a proper fix is available:
  Perpetuate the 4.4bsd design even further. Change keyboard-driver
  open routines to check for an active raster console. If active, set the
  keyboard struct tty's t_winsize from the rcons t_winsize on first open.
See pr 4438 for remaining problems and discussion of a complete fix.
1997-11-08 21:55:05 +00:00
jonathan
d1ec048977 DDB for mips.
Add DDB interface to /sys/arch/mips/mips..
  Rework heuristic stack traceback to work with DDB.
  Add hooks  to print exception log from DDB.
  Add hooks from pmax console drivers:   call Debugger()
  after break from serial console, or 'DO' key from LK-xxx.
1997-07-07 03:54:24 +00:00
jonathan
f4dc901780 Use #include <machine/bus.h> in pmax device drivers.
Garbage-collect `#include <pmax/locore.h>' lines.
1997-06-16 02:53:23 +00:00
mhitch
74245805bb DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from
machine/locore.h.
1997-06-15 17:58:56 +00:00
jonathan
428a2b873f Fix polled I/O getc/putc functions for non-serial consoles when
still cold (e.g., to initialize keyboards and mice).
Why these use polled, rather than interrupt-driven, IO is a mystery.
1996-10-16 02:10:33 +00:00
jonathan
23ad284399 Remove obsolete `#include <machine/MachConst.h>'.
Where CACHED_TO_HYS() is still needed for kernel-virtual-to-physical
or physical-to-uncached mapping (fb drivers), replace with
`#include <mips/cpuregs.h>'.
1996-10-13 13:13:50 +00:00
jonathan
e1a0a7fc77 Split dcparam() into two parts:
* dcparam() with normal tty t_param interface, which calls
    * cold_dcparam() called with explicit dc7085 register address
      and flags, which does the work and is also callable when cold,
      to set up console (or kgdb) line parameters.
1996-10-13 12:25:50 +00:00
christos
d286889901 backout previous kprintf change 1996-10-13 03:39:27 +00:00
jonathan
99a94f057e Put back the ttstop-returns-void changes accidentally clobbered by
merging the 1.2 and -current branch serial-console fixes.
1996-10-12 23:41:35 +00:00
christos
19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
jonathan
874baa6c95 Rewrite dc7085 (dz-11 clone) driver as MI back-end, with bus-specific
cfattach front-end code:
  dc_ds for the decstation 2100( pmin), 3100 (pmax), and 5100.
  dc_ioasic for the decstation 5000/200 (3max) which does  not have a
  DEC TC-style IOCTL asic, but is configured as if it did.

* Add pre-autoconfig  code initialization of kerenl dc driver console I/O
  for remote serial consoles.  The hack to use PROM serial I/O until the
  dc device is autoconfigured is no longer necessary.
1996-09-25 20:48:51 +00:00
jonathan
ad20e52d11 Commit snapshot of reworked dc driver to trunk, to pull up fix for
serial consoles to the 1.2 branch.  Includes:
  * dynamically allocated new-config softc
  * remove dependencies on Decstation CPU type, use flags in softc instead.
  * pass in values for softc flags (q.v.) from parent-specific attach code
  * #ifdef out rts/cts flow control support until it's known to work on
    200s.
  * redo initialization of serial consoles (needs more work).
1996-09-17 19:34:40 +00:00
jonathan
2bc8c4e5c2 Merge in 4.4BSD-Lite -> 4.4BSD-Lite2 changes. (untested).
The Lite2 changes  include:
  * Remove the last vestiges of high-bit-set-means-delay for output chars.
  * Handle the  2100/3100 having partial modem control on line 2 only,
    whereas the 5000/200 has modem control signals on lines 2 and 3.
  * Add RTS/CTS support for lines 2 and 3 on a 5000/200.
  * Add more s = spltty(); splx(s); where needed but not present.
1996-09-11 06:41:19 +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
mhitch
40c440b66e Do tty_attach() for serial lines and MAXINE console. 1996-06-16 16:50:56 +00:00