Commit Graph

331 Commits

Author SHA1 Message Date
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
89cad55ba4 Make rcons work, if configured, even when using serial console:
do rcons_connect() even if using a serial console.
  identify first attached framebuffer as being `rcons' output device.
1998-11-23 04:26:15 +00:00
mhitch
475a5c2afd RZ25 disks seem to need a short delay after a start command; the test unit
ready right afterward succeeds, but the getsize following that failed with
a "not ready".
1998-11-20 06:24:02 +00:00
mrg
db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
jonathan
a3a77d9561 Add skeleton code to defer rcons console output to soft-interrupt time.
ifdef'ed out for now.
1998-11-16 00:10:39 +00:00
jonathan
03b30a046d * make scc_tty_init() callable when very cold: call scc_coldparam() directly.
Use scc_tty_init() in scc_consinit().  Declare scc_consinit() in sccvar.h.

* Remove last vestige of special-case console handling in sccparam() code.

* Call scc_consinit() from findcons scc_serial() console-setup.
  Dont PROM for scc serial console at all.
1998-11-15 11:21:52 +00:00
mhitch
7b16048c5a Fix the Right-Shift on the LK501 keyboard in a different way. My previous
attempt results in the up and down arrows not repeating in the X server.
The keyboard division table is modified to place the Right-Shift keycode
into division 6 along with the Left-Shift and Control.  A corresponding
change to the X server lk201 keyboard handler is also required.
1998-11-13 01:59:51 +00:00
mhitch
010e90e0ca Cursor position offsets need different values for an sfb board with an
alternate clock that does lower resolution.
1998-11-06 03:53:40 +00:00
mhitch
a7f70a5fbc Fix problem when using non-DEC CDROMS with blocksize other than 512 bytes.
This got lost when disk geometry processing was updated.

Also move the CDROM check from rzread() to rzwrite() - it doesn't make
much sense to report a read-only filesystem error when trying to read a
CDROM.
1998-11-06 01:59:25 +00:00
jonathan
5211fed3ab Michael Hitch's fix to dtop handler:
make handler FSM robust enough to not lose its place after data overrun.
  stops  keyboard from going catatonic.
1998-10-29 04:54:20 +00:00
jonathan
0582e98991 Treat Wangtek QIC-150 SCSI tapes the same as Viper, so they work on
3100s as well as with the asc driver.
1998-10-22 23:01:45 +00:00
thorpej
29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
nisimura
d6afdbc88b Complete to fix errors introduced by HX screen dimension detection. 1998-09-10 10:00:39 +00:00
mhitch
a91d61bced Can't use fi->fi_base to access the resolution registers: it hasn't been
initialized yet.  Use the base variable, and also use the symbolic symbols
to acdess the registers.  Also, the console max_rows is based on the
display height, not the width.
1998-09-07 19:52:49 +00:00
mrg
3d26a04acb add "int" type to static tzops array (egcs warning) 1998-08-29 16:14:15 +00:00
jonathan
e2ff73afa7 Compute SFB pixel dimensions at attach time for PMAGB-BB users.
(qvss-compat needs revision, but should be replaced with wscons anyway.)
1998-07-12 06:26:37 +00:00
jonathan
466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
thorpej
21592147a1 defopt COMPAT_ULTRIX 1998-06-25 23:27:56 +00:00
matt
7a1e3fe2ea Allow serial consoles *without* any graphics devices. 1998-05-23 18:21:43 +00:00
simonb
76e48472e6 Include pmax/pmax/pmaxtype.h for definition of DS_PMAX 1998-05-19 04:31:27 +00:00
simonb
469658d533 - Allow all valid SCSI id's to work on the SII and first two ASC
controllers (including SCSI id 7 on the 2100/3100).
- On the pmax (2100,3100) set the host SCSI id to 6.
- Move disk and tape config for the second ASC controller from the GENERIC
  config file to scsi.pmax so all configurations can use the second
  controller.
1998-05-08 00:05:19 +00:00
jonathan
bd51370674 Fix indexing bug in bt459 colourmap update.
Causes symptoms in PR# port-pmax/4174.
1998-04-20 05:24:17 +00:00
jonathan
1a283ae18b Use new ibus attach args. 1998-04-19 10:47:06 +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
1116cb8578 Cleanup comment typos. 1998-04-19 10:22:45 +00:00
jonathan
4ea6444493 Decsystem 5100 (aka mipsmate aka kn230) support:
* dec_5100.c: sysconf, interrupt, and  motherboard (drain writebuffer)
   support for 5100.
 * support for hardware kludge in 5100: sii DMA buffer is hardware
   padded to alternate 32-bit words, not alternating 16-bit  halfwords.
 * 5100 has no framebuffer, console is wired to serial port 0.

With ibus support, boots as far as exec'ing init, and hangs.
1998-04-19 01:27:02 +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
mhitch
57f61ecbbd Modify TK50 check to also check for a TZ30 tape, and adjust the modesense
data length accordingly.
1998-03-30 19:50:47 +00:00
jonathan
2f23758d46 garbage-collect "extern int systype" 1998-03-30 09:52:11 +00:00
jonathan
9d3e5cca36 garbage-collect old integrated frontend from sii backend. 1998-03-30 09:47:51 +00:00
jonathan
05bfc158d1 Undo previous rev; systype is declared extern in pmaxtype.h (while it lasts). 1998-03-30 09:44:03 +00:00
jonathan
b800227f95 Garbage-collect old code for direct attachment. 1998-03-30 02:34:25 +00:00
thorpej
dd3d062237 Delete a couple of gratuitous printfs. 1998-03-26 06:36:36 +00:00
thorpej
60e832dc24 Make this compile. 1998-03-26 01:01:13 +00:00
jonathan
5aa93520b5 Pause after failing to find the same driver as the PROM. 1998-03-25 07:35:05 +00:00
jonathan
a47a813037 Reinstate workaround for old PROM (3100) return values. 1998-03-25 07:30:28 +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
6a3abc10f7 Create in rconsvar.h, with exported variables and RCONSDEV. 1998-03-24 09:51:23 +00:00
jonathan
1c0730217a Rewrite pmax console-probing code from scratch
as pmax/dev/findcons.c:
 *  Follow the same logic: look for the device the PROM is using.
 *  If it's a framebuffer and we don't have a driver for it, try other
 *  framebuffers in PROM search order.
 *  If no match found, warn user and fall over to serial console.
 *  if no serial console found, go back to PROM.

Rework tc/scc.c attach routine to give cleaner initialization semantics.
Prune out old 'braindamage' code.
1998-03-24 08:39:02 +00:00
jonathan
3172e096d3 Move pmax PROM-console I/O callbacks out of pmax/pmax/cpu_cons.c
into pmax/dev/promio.c, with decls in promiovar.h.

Remove obsolete cpu_cons.c and old pmax console-probe code.
1998-03-24 08:31:34 +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
e3bda606eb Add support for UVM. 1998-03-12 05:45:04 +00:00
thorpej
92abc814ff Clean this up a bit. 1998-03-06 00:21:40 +00:00
thorpej
f02b1a7a33 Make this compile again in light of Lite2 merge. (Yuck.) 1998-03-02 23:17:19 +00:00
thorpej
a3a297cc40 Two purely cosmetic whitespace changes. 1998-02-23 18:45:44 +00:00
jonathan
f7bd3a0119 Move existing contextsw-avoidance code in rzdump() earlier, since rzready()
also calls biowait().

Some drives seek to modepage on every modepage geometry-sense in rzready()
cache dev_t of last readied device in rzdump() to elide rzready() calls.
2x speedup of dumps on rz25 and 20x-30x speedup on some IBM OEM 4gig drives.
1998-02-21 20:20:55 +00:00
thorpej
50f58080f4 Rewrite rzdump(); the previous one was completely broken. 1998-02-19 23:04:41 +00:00
jonathan
68f29b9316 Increase delay between mouse reset/self-test and autoreport commands
from DELAY(100) to DELAY(150). The newer accurate DELAY() calibration
left some mice (mostly VSXXX-GA square, not VSXXX-AA hockeypuck)
ignoring the MOUSE_INCREMENTAL command.

The 150ms delay is verified to work on 3100s on both kinds of mice.
1998-02-05 05:19:45 +00:00
thorpej
0475e09198 Update for changes to config. 1998-01-12 20:04:24 +00:00
perry
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
jonathan
3550b22654 Commit patch for PMAG-A (mfb) pixel inversion accientally left out of 1.3.
See PR# port-pmax/4724.
1997-12-22 02:39:28 +00:00
mhitch
1863572e04 Add a check for the DO key to enter ddb on the Personal DECstations. 1997-11-23 18:20:11 +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
mhitch
f027428995 Cursor is supposed to be turned on when unblanking the screen. 1997-11-18 20:16:28 +00:00
jonathan
1c7a3c901e Apply version of cursor for bt431 cursor chip on mfb:
Fix cursor sprite for X11 startup/exit:
 * add cursor on/off functions.
 * Default cursor state is off (for framebuffer console).
 * Turn off cursor in each driver's xxxCursorInit() entrypoint.
 * Turn on cursor at the end of each driver's xxxLoadCursor() entrypoint.
works with X11R5 servers shipped with NetBSD 1.3.
1997-11-17 11:44:50 +00:00
jonathan
45ad7fb3e5 Fix cursor sprite for X11 startup/exit:
* add cursor on/off functions.
 * Default cursor state is off (for framebuffer console).
 * Turn off cursor in each driver's xxxCursorInit() entrypoint.
 * Turn on cursor at the end of each driver's xxxLoadCursor() entrypoint.
works with X11R5 servers shipped with NetBSD 1.3.
1997-11-16 10:17:53 +00:00
jonathan
0c7ac6dc71 Initialize 3100 cursor to off, for rcons text mode.
(Minimal-distance fix for 1.3 release).
1997-11-14 02:01:22 +00:00
mhitch
7984f5ce3a The scsi command length was not being set in rz_command(), which caused
the SII driver to fail when trying to get the drive geometry.
Remove extraneous newline when printing out the disk geometry during device
probes.
1997-11-13 03:56:49 +00:00
mhitch
b0367937cb Fix typo: NRASTERRCONSOLE -> NRASTERCONSOLE 1997-11-10 21:59:18 +00:00
jonathan
c176a3646e Fix kernel divide-by-zero errors and other bugs with removable devices:
* Add code to query CDs for size, from MI scsi cd.c. Use it on CDs.
  * Set C partition size for CDs. 4.4bsd/pmax code only set `a' partition
    size and required users to mount `a' partition, breking raw-device
    access like "disklabel rz?".
  * Avoid possible divide-by-zero call to howmany() from rzstart(),
    on removable media that aren't ready at device-open time.

Verified to work on rrz42.
1997-11-09 03:08:23 +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
1dfe80f178 Add MODE SENSE code from MI scsi sd.c to rz.c.
* add includes for sys/dev/scsipi headers.
 * cut-and-paste mode_sense and disk-geometry sense code from sd.c,
   with name changes sd -> rz.
 * Write `rz_command()' to send SCSI sense commands based on
   existing rz size-sensing code.
 * get geometry info with page 4 and page 5 mode sense.
 * use resulting geom info for default label, fake label, and when
   using ultrix labels. (ultrix labels have no geometry info).

Fixes incrrect-label bugs with using sysinst to install onto
Ultrix-labelled disks.
1997-11-08 11:28:10 +00:00
jonathan
2025270865 Fixes for sysinst and installing diskimage:
* Check for a disklabel matching the known values in an install diskimage.
   If found, update incore disklabel's RAW_PART  with the size reported
   by the disk, clobbering the size used by vnd(4).*
 * If geometry info is bogus or /missing, supply a fake geometry
   (as in sd.c).  Saves readdisklabel() and sysinst from divide-by-zero errors.
 * lint: RAWPART -> RAW_PART.
1997-10-26 10:47:14 +00:00
jonathan
75e6c24f72 Don't turn off RZF_WLABEL flag on last close of raw partition.
It breaks disklabel -W, turning label writes back off again when
disklabel -W closes its open fd on the raw disk.
1997-10-25 22:28:52 +00:00
jonathan
4b537fb807 Warn user if we fail over from framebuffer console to serial console
when no supported framebuffer is found.
1997-10-19 10:25:52 +00:00
lukem
28558b28eb rcsid fascism 1997-10-13 14:22:22 +00:00
bouyer
6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
mhitch
748703e737 Correct the check for a recovered error (I did it wrong the first time). 1997-08-17 16:51:21 +00:00
jonathan
4631885e91 Kill __BROKEN_INDIRECT_CONFIG on pmax.
Based on a patch from Chris G. Demetriou, December 1996.
1997-07-21 05:39:02 +00:00
jonathan
59b1c9add9 Correct cursor-movement bounds check in ifdef'ed out code, as
for revision 1.7 of sys/arch/pmax/dev/ims332.c:
 >Bound x motion by framebuffer width, not height.
 >Bound y motion by framebuffer height, not width.
1997-07-20 03:57:18 +00:00
jonathan
ad4cc08b75 Bound x motion by framebuffer width, not height.
Bound y motion by framebuffer height, not width.
   (cf revision 1.4.)
1997-07-19 12:03:51 +00:00
jonathan
21717110ba Raise spl to spltty() in polled console input routine dtopKBDGetc(),
to ensure polled console I/O really is polled.

From Michael L. Hitch <mhitch@lightning.oscs.montana.edu>.
1997-07-19 12:00:10 +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
eca6630217 Fix NSCC tests. Use NSCC > 0 (needs-flag) rather than NSCC > 1 (needs-count).
Fix prototypes previously hidden by same.
1997-07-02 13:59:15 +00:00
jonathan
e0bb7d9370 Establish handler for vertical-retrace interrupts.
Use establish-time argument in handlers, to work with multiple framebuffers.
1997-06-30 22:08:58 +00:00
jonathan
11bfae37bb Update compiled-in default partition. Default root 32Mbytes, swap 64Mbytes.
(appropriate for ELF and growth in / since 4.4bsd/pmax).
Clip default-label partitions against the end of the disk to make installs
easier.
1997-06-25 11:00:32 +00:00
jonathan
1f44934407 * Change Sprite MACH_xxx prefix to MIPS_xxx.
* Use standard mips terminology (xxx_KSEG0, xxx_KSEG1) instead of the
  (more meaningful) Sprite names (xxx_CACHED, xxx_UNCACHED).
1997-06-22 07:42:25 +00:00
pk
6b976a7d46 rzsize(): call rzopen()/rzclose() if not yet open, per the
current `openmask'.
1997-06-18 22:19:13 +00:00
jonathan
3d2676b809 Garbage-collect '#include <machine/pte.h>'. 1997-06-16 23:52:06 +00:00
jonathan
2eec9b0bc3 Back out previous change:
Add placeholder for Ted Lemon's years-old-but-new cursor-movment range checks.
1997-06-16 09:53:14 +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
jonathan
817af928bf Add placeholder for Ted Lemon's years-old-but-new cursor-movment range checks. 1997-06-16 02:18:47 +00:00
jonathan
cd48c79960 Remove the machConst.h (wrapper for Sprite-derived source), and all
#includes <machine/machConst.h> uses.
Other header files now include <mips/cpuregs.h> where necessary.
1997-06-16 01:45:05 +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
mhitch
4ccdbb1c9e Don't return error status on recoverable errors 1997-06-15 17:17:07 +00:00
mhitch
074ad77297 Correct an #endif comment to match the #if comment. 1997-06-15 16:18:29 +00:00
jonathan
3906c8cde5 Fix possible uninitialized variable bug which trips -Wall. When
recovering from a possible race condition in sii_intr, read the active
target from the destat register, and set the softc state pointer
`state' appropriately.  (This warning is in a block that prints a
warning message, and the warning message has _never_ been seen. The
bug is probably innocuous.)

Also addresses the `more thought needed' in the log message for rev. 1.12.
1997-05-29 19:26:06 +00:00
jonathan
ceff1980b7 lint: Add prototypes for the redirection hoks used for rcons/4.3bsd
qvss-style in-kernel X inputevent processing.
This whole interface should be replaced with wscons.
1997-05-28 14:21:39 +00:00
jonathan
e319f99e4b lint: include header files with declarations of input-redirect hooks.
Add prototypes and explicit casts where the hooks are polymorphic.
This whole interface should be replaced with wscons.
1997-05-25 10:53:33 +00:00
jonathan
a2051af8b9 RCSid police. Delete obsolete function-scope extern declarations. 1997-05-25 05:26:00 +00:00
jonathan
352da01442 Remove #ifdef NDTOP/#endif wrapper, not needed with new config.
Annotate strange #includes (dcreg.h?).
1997-05-25 04:58:36 +00:00
jonathan
42ad3d85be Move prototypes for X11-upcall hooks to dtopvar.h, for the benefit of
the Ultrix framebuffer-API compatibility code.
1997-05-25 04:49:59 +00:00
jonathan
ce0a173bf6 Add prototypes for device-specific handlers and input-event (X11) upcalls. 1997-05-25 02:37:55 +00:00
jonathan
d617788337 Fix typos in prototypes of console-init entrypoints. 1997-05-24 09:15:46 +00:00
jonathan
8f17cfaec1 Add 'needs-flag' to pmax, 3max dc (DZ-11 clone) front-ends (dc_ds, dc_ioasic
respectively), so console setup code can test forconfiguration of the
correct front-end (via NDC_DC and NDC_IOASIC, respectively).

Delete 'needs-flags' from dc.c.  GC obsolete uses of NDC, "dc.h".
1997-05-24 08:19:44 +00:00
mhitch
0db8e55935 DMA state was not getting saved if dmaCurPhase was data-out. If the
message-in was a save data pointer, the driver would loop in the
interrupt routine.
1997-05-22 03:26:16 +00:00
jonathan
d212e8744e Include "rasterconsole.h" to get definition of NRASTERCONSOLE (rcons flag).
Don't try rcons on 3100s with keyboards if rcons isn't configured,
1997-05-21 19:41:08 +00:00