Commit Graph

282 Commits

Author SHA1 Message Date
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
mellon
dcf4d707a4 Only compile in rcons tests if rcons pseudo-device was declared 1997-05-15 16:43:36 +00:00
jonathan
d6611ebcef * Add fixes for possibly-uninitialized variables from rev 1.11.
(The operator-precdence changes in 1.11 were pulled up in rev 1.14).

* If the chip asserts a SCSI-bus error (SII_BER) in sii_intr,
  reset the SII_BER bit instead   of ignoring it.
  XXX SII_BER May need checking and resetting elsewhere.
1997-04-29 01:58:38 +00:00
jonathan
902f17af37 Correct sense of fi->fi_blanked in bt455_video_off(). 1997-04-19 08:25:31 +00:00
jonathan
22d3d9819d Correct sense of FBIO[GS]VIDEO ioctl as noted in PR #3515. 1997-04-19 08:21:59 +00:00
jonathan
4ecce8621c * 2048 bytes between vertically-adjacent pixels on 1280x1024 mfb.
Fixes broken blitting from rcons.
* Put back old 4.4bsd range test on cursor movement.  1.2 code is broken.
* Disable screensaver, it reportedly never comes back on properly.
1997-04-10 08:37:54 +00:00
thorpej
9fc5d41bb3 Garbage-collect an ... insane use of "GENERIC" (used to generate a
different "default in-core disklabel" with a larger b partition in
the event no disklabel was present on the disk).
1997-02-04 05:24:55 +00:00
thorpej
08dafb1339 Add a sick little hack to glue old-config-pmax-scsi-stuff into the
alldevs list.  This is required for the new machine-independent setroot().
1997-01-31 02:00:56 +00:00
mhitch
808f2c3ec1 The mfb driver uses struct fbinfo for the device data, but was only allocating
memory for struct device.
1997-01-23 01:54:09 +00:00
mhitch
4fe9d4efee The sfb driver uses the device data, so more than a "struct device" is
needed.  When sfbattach() initializes the fbinfo data, it was corrupting
data past the struct device data actually allocated.  This does not appear
to have caused a problem in the past, but causes a problem with the new
setroot() changes by Jason.
1997-01-22 17:27:54 +00:00
jonathan
11a7f97c20 Use <> not "" #include path for pmax/stand/dec_boot.h. 1997-01-15 00:52:17 +00:00
mhitch
0023076caa Need to initialize fi_glasstty before using it. 1996-10-23 02:34:23 +00:00
mhitch
32fccda062 The active target needs to be initialized in siiattach() instead of
old_siiattach().
1996-10-22 23:15:10 +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
19c816fd6b Delete #ifdef'ed-out TC support (for 5000/200). 1996-10-14 17:28:46 +00:00
jonathan
f2c95d6cce Use kernel driver for serial console. PROM console output no longer used at all. 1996-10-14 17:15:42 +00:00
jonathan
9d781ce37f Back out second inclusion of <sys/poll.h> from duplicated poll(2) changes. 1996-10-14 04:55:26 +00:00
mhitch
be3a168305 Removed stray ";" so conditional return is really conditional. Fixes
autoconfig display for xcfb.
1996-10-14 01:39:57 +00:00
christos
ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +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
0c048bf278 poll(2) changes for rcons, pmax framebuffer hardware-independent layer. 1996-10-13 12:47:55 +00:00
jonathan
1f97bf2ceb Update SCCS id to 4.4-lite2. We already had lite2 tz.c changes from
Raph Cambpell.
1996-10-13 12:34:20 +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
jonathan
9bcd95a0ae Header file with dc7085 (dz-11 clone) declarations used by pmax console and
framebuffer code.
1996-10-13 03:42:17 +00:00
christos
d286889901 backout previous kprintf change 1996-10-13 03:39:27 +00:00
jonathan
986daa1436 Split sii driver into bus-dependent front-end and chip-specific back-end:
sii_ds.c -- front-end for Decstation 2100, 3100, 5100(?)
    sii.c --  driver for DEC scsi asic used in decstations and vax 3400s
    siivar.h -- shared softc
1996-10-13 03:02:39 +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
jonathan
0c820bd260 Split driver for decstation-3100 framebuffer (BrookTree bt478 RAMDAC,
DEC dc503 cursor chip) into  Decstation 2100,3100 cfattach front-end
and ``machine-independent'' back-end.
	pm_ds.c:  pmin/pmax cfattach front-end
	pm.c:  bt478, 503 back-end
	pmvar.h: declarations of back-end normal and console attach
	         entry points.
1996-10-12 23:33:18 +00:00
mhitch
784dc6bd1b poll(2) changes for framebuffer. 1996-10-12 16:00:21 +00:00
mhitch
b403f60a0e Don't try to probe devices past the number of tz devices configured - stops
corrupting data past the end of tz_softc[].
1996-10-12 15:59:39 +00:00
christos
19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
jonathan
b2ba37c8b9 Delete old dkstat index (sd_dk) from old pmax scsi-driver struct, and delete
the last references to it from the old/new config glue in pmax/conf-glue.c.
1996-10-01 01:04:48 +00:00
jonathan
9b5c58c457 * When configuring a serial console on a machine with a dc serial chip,
use the pre-autoconfig cold serial-console inititialization entry
  points from the bus-specific cfattach front-end code.
* Delete post-autoconfig code to switch from PROM output to kernel
  driver for machines with dc serial chips.
1996-09-25 21:16:00 +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
3a51c3ecb0 Move old 4.4bsd/pmax driver declaration below prototypes of driver
entry points, for -Wall -Wstrict-prototypes.
1996-09-21 08:47:17 +00:00
jonathan
073248247b Add prototype for 4.4bsd/pmax scsi-driver d_done() entry point. 1996-09-21 08:45:41 +00:00
jonathan
456e858536 Update pmax framebuffer drivers for -Wall -Wstrict-prototypes:
* include <fb>var.h in <fb>.c
 * remove delete declarations for 4.4BSD-Lite console/kbd/mouse redirection
 * Add prototypes where not already present.
1996-09-21 03:25:15 +00:00
jonathan
f78ff890d7 Change bt478.c to include bt478var.h from bt478.c.
Remove redundant declarations.
1996-09-21 03:22:24 +00:00
jonathan
2e4e1695fe Exported declararation of console-attach function for glass-tty consoles
on Decstation TURBOchannel fb drivers.
1996-09-21 03:06:36 +00:00
jonathan
5c2d5169b2 Exported declarations from brooktree bt478 chipset-level driver,
used in DEC pm framebuffers.
1996-09-21 03:02:10 +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
jonathan
de227b74e6 * Add missing printf("\n") at end of attach routine in cfb, sfb, pm drivers. 1996-09-08 19:28:03 +00:00
mhitch
3686def7f7 Add parenthesis to correct a check for current SII state, so that a forced
disconnect will be done (it would never have been done with the old code).
1996-09-07 01:19:45 +00:00
jonathan
ac5bac38be * This driver initialized mfb devices to black-on-black. If being used
as a console, initalize as white-on-black so console messages are legible.
  (Sean Davidson reports that rcons still messes up the display, perhaps
   due to using the wrong pixel depth).
1996-09-06 07:01:06 +00:00
mhitch
704caddf5f Fix several errors when setting a color map entry for the maxine display.
1. Start at the specified entry instead of entry 0.
2. Use the blue value instead of the green when setting the blue color entry.
3. Don't use the starting index again for storing the saved entry - the cmap
   pointer was previously initialized using the starting index.  This fixes
   a hard hang on the maxine when console output is done after calls to
   set the color map (usually by the X server).
1996-09-02 17:35:52 +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
jonathan
73a5d45710 * Add initialization of colourmap array when using mfb as a console.
* Add interrupt handler for 3MIN, where we cannot disable TC slot interrupts.
* Change mfbinit() signature to match other (pmax) TC framebuffer init
  routines.
* TODO after 1.2: add {cfb,mbf,sfb}var.h. Declare init functions there.
1996-08-27 02:32:48 +00:00
jonathan
562faf95ac Re-apply to the trunk a change that was misapplied to 1.2 release branch:
>apply old name change, MachEmptyWriteBuffer -> wbflush()
1996-08-22 04:37:41 +00:00
jonathan
eb75b94621 Re-apply change that was misapplied to 1.2 release branch to trunk:
>Cosmetic changes to pass -Wall -Wstrict-prototypes -Wmissing-prototypes:
> * remove inline prototypes for keyboard redirection,
>    include {dc,scc,dtop}var.h files instead.
> * add prototype for rcons_connect().
>
1996-08-22 04:29:43 +00:00
jonathan
9a8c8b9858 * the 3MIN does not mask non-enabled TC interrupts, and the SFB generates
a vertical-blank interrupt. Add a handler to clear the interrupt, and
  establish that  handler if running on a 3MIN.
1996-08-22 04:17:23 +00:00
mhitch
5b0728f9a2 Correct update of DMA address register when saving DMA state on a
message-in.  The remaining transfer count restored when a device is
reselected needs to be saved.  The saved value is needed to compute
the number of bytes transferred if another disconnect occurs.  This
fixes a random read data corruption that occurs on certain disks that
may disconnect more than once in the middle of a DMA transfer.
1996-07-30 06:36:33 +00:00
thorpej
eeaf8d15ef Remove the old-style disk instrumentation code. 1996-07-12 21:55:48 +00:00
mhitch
2c4f6b4b82 Don't modify rz_softc[] entries beyond what was configured.
Show proper inquiry data when version >= 1, not <= 1 (SCSI-2 devices
now display their inquiry infor).
Correct transfer length passed to dk_unbusy (b_resid hasn't been
updated yet).
1996-06-16 16:57:31 +00:00
mhitch
40c440b66e Do tty_attach() for serial lines and MAXINE console. 1996-06-16 16:50:56 +00:00
jonathan
465d53bd4d Fix sense of strcmp() comparison that broke dcmatch() on real ioctl asic hw. 1996-06-13 22:43:33 +00:00
jonathan
7adf57b6f5 Fix the reworked autoconfiguration to also boot on a 5000/200.
Check and avoid trying to configure (or dereference unknown arguments
to dcattach() and dcmatch() when called with busses the driver doesn't support.
1996-06-13 08:06:12 +00:00
mhitch
d8824f1a84 Fix autoconfig stuff to more closely match the alpha. The DS3100 will now
configure properly.  Also fix devices with TurboChannel and mainbus
attachments so they will work if no TurboChannel was configured.
Fix clock.c for a missing variable if not including NTP support.
Also remove some extraneous includes files or use the right ones.
1996-05-29 06:25:01 +00:00
mhitch
de1b9b4230 Fix autoconfiguration stuff to match the alpha. The DS3100 will now
configure properly.  Also fix devices with TurboChannel and mainbus
attachments so they will work if no TurboChannel was configured.
Fix a panic when the dtop keyboard handler receieves a character
before the device has been opened.
1996-05-29 06:15:40 +00:00
jonathan
e6beb98351 Move sys/arch/pmax/dev/sccvar.h to sys/arch/pmax/tc. 1996-05-19 18:25:15 +00:00
jonathan
aff9b08bf5 Delete unecessary #include of "le.h", which doesn't exist anymore. 1996-05-19 15:57:16 +00:00
jonathan
eaafcae007 Add prototyped declarations for the static bt431 chipset code.
Add explicit "int" return types to functions.
Change MachEmptyWriteBuffer() to wbflush().
1996-05-19 01:18:57 +00:00
jonathan
cb77e53644 more cleanups for -Wall:
update the 4.3bsd/Ultrix-compatible qvss-style mmap'ed framebuffer/input-event
code to use mips_round_page() et.al., not pmax_round_page().
Add explicit "int" return types to functions.  Add prototyped forward
declarations.
1996-05-19 01:16:18 +00:00
jonathan
33fcef8a24 more cleanups for -Wall:
Fix the the  definitions of dtop cdevsw entry point functions to match
    their  declarations. Add explicit "int" declarations to functions.
    Add prototyped declarations for all local functions.
    Return zero from dtopstop().
    Include the external declarations from dtopvar.h.
1996-05-19 01:12:40 +00:00
jonathan
fe392301cd more cleanups for -Wall:
Fix the the  definitions of cdevsw entry point functions to match their
    declarations. Add explicit "int" declarations, and fix the type
    of rconsmmap().
1996-05-19 01:06:14 +00:00
jonathan
fe111dde22 more cleanups for -Wall:
Fix lk201 driver to include lk201var.h.
1996-05-19 01:03:00 +00:00
jonathan
9bdcc60e97 more cleanups for -Wall:
Fix generic framebuffer (X-server interface)  cdevsw entry points to match
    declarations.
1996-05-19 01:01:10 +00:00
jonathan
50dd608c3b more cleanups for -Wall:
Fix dc driver cdevsw entry points to match declarations.
    Change MachEmptyWriteBuffer() to wbflush().
1996-05-19 00:58:03 +00:00
jonathan
153ec93cf9 Create device-driver external declarations for the following pmax drivers:
lk201 in-kernel keyboard decoder (lk201var.h)
1996-05-19 00:53:43 +00:00
jonathan
cce901c20c Create device-driver external declarations for the following pmax drivers:
qvss/pm-compatible  framebuffer ioctl()s (qvssvar.h)
	MAXINE desktop bus driver (dtopvar.h)
	3100/2100 pm framebuffer low-level driver ( pmvar.h)
	MAXINE baseboard framebuffer (xcfbvar.h)

which should compile with -Wall.
1996-05-19 00:48:43 +00:00
jonathan
f0d175fd22 Commit version that _really_ has only the innocuous fixes in the
last CVS message.

Possible uninitialized use of variables in the SII state machine,
requiring more thought, are still present.
1996-04-12 18:22:35 +00:00
jonathan
f6897c8eb6 fixes for -Wall -Wmissing-prototypes:
pass 1 over pmax SII driver: change "MachEmptyWriteBuffer()" to
"wbflush()", add prototyped forward declarations.
1996-04-12 18:15:23 +00:00
jonathan
368824e74c Fixes for -Wall -Wmissing-prototypes:
Add prototypes to (most of) src/sys/arch/pmax/pmax. (The  un-protytyped
   parts still have pending merges with the Pica port.)
   Fix splx() glitches in pmax/clock.c.
   Delete old cpu/fpu identification from pmax/autoconf.c, use r4400/r4600/idt
   aware code from Pica port, now in mips/mips/mips_machdep.c.
   Delete unused multi-CPU autoconfiguration code; NetBSD/pmax does not
   support decsystem 5800s anyway.
1996-04-10 17:38:18 +00:00
jonathan
66e92bbfaf fixes for -Wall -Wmissing-prototypes:
prototype the function-pointer member of the pmax struct pdma.
1996-04-10 17:38:04 +00:00
jonathan
39917746c1 fixes for -Wall -Wmissing-prototypes:
Update the pmax SCSI drivers (rz and tz) to  use <machine/conf.h>.
    Fix the driver entry points to have the correct signatures -- add
    "ioflag" args to read() and write(), add "struct proc *p" arg to
     open and close.
    Stop using __BDEVSW_DUMP_OLD_TYPE, and update the rzdump and tzdump
    entry points to have the correct, MI signatures.

    NB: this is just syntactic sugar: both the caller and the dump entry
    points ignore the additional args, and do exactly what they did before.
    This must be fixed before using dump entry points in non-pmax drivers
    (e.g., the MI scsi code).
1996-04-10 16:33:44 +00:00
jonathan
beaeb261bf fixes for -Wall -Wmissing-prototypes:
add prototyped declarations for the callbacks which add old-style
(4.4bsd/pmax conf.old) SCSI controllers, and which configure SCSI slaves
on such controllers.

rewriting the SII driver to work with the MI scsi would be a better option,
if time were available, and the MI scsi code supported SCSI controllers with
an 8k upper bound on transfers.
1996-04-10 16:27:38 +00:00
jonathan
7822ce0c03 ANSIfy:
Add prototypes and fix printf format strings to compile cleanly with
cc -Wall -Wmissing-prototypes.
1996-04-08 00:57:37 +00:00
jonathan
223eb30b4e ANSIfyto compile with -Wall -Wmissing-prototypes:
Add prototyped declarations for scsiGroup0Cmd and scsiGroup1Cmd.
Add prototype declarations for scsiPrintSense. Cut the inqiury-response
pretty-printer  from tz.c and rz.c and paste it in as scsiPrintInquiry.
1996-04-07 22:53:54 +00:00
jonathan
61a27eb882 Fix old pmax scsi disk and tape (rz and tz) drivers to compile with
-Wall -Wmissing-prototypes:

Add prototypes.
Fix printf() format strings (%x vs pointer-arg, %x with a long int).
Fix a possibly-uninitialized shadowing local variable "resid" in tzdone().
include <sys/systm.h> to get prototypes for printf() and bcopy().
1996-04-07 22:46:29 +00:00
jonathan
73b62487b0 ANSIfy for gcc -Wall:
fix glitch in the comments describing the glyph for semicolon.
Somehow, instead of ":" they had an open-comment.
1996-04-07 19:54:37 +00:00
jonathan
69b52a3f4a ANSIfy for -Wall: add prototype declaration for rcons_font(). 1996-04-07 19:53:36 +00:00
jonathan
cdf4e87e7a Additional fixes to complete the NetBSD/1.1B config changes:
add missing structure name in the definition of `struct cfattach sfb_ca'.
1996-03-17 22:02:59 +00:00
thorpej
77abd102b7 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:38:52 +00:00
thorpej
9029778d04 RCS id police. 1996-03-03 16:54:17 +00:00
thorpej
8caec41719 RCS id police. 1996-02-28 20:49:18 +00:00
jonathan
ab3b20faba Remove the compile-time conditionalization for either CFB or SFB,
based on "#ifdef MELLON":  examine the framebuffer dimensions in the
fb softc, and initialize the x-axis offset appropriately.

User-level changes to (e.g.) an Xserver are still needed to work
on an SFB.
1996-02-15 19:18:22 +00:00
jonathan
d25690e30a Propagate changes from cfb driver to not require "needs-count" to other
pmax framebuffer drivers.
1996-02-15 19:13:08 +00:00
jonathan
a5c3ac2538 Allocate a single static colourmap array for aglass-tty consle
framebuffer and malloc() all others.  Remove old-config unit-number checks.

This driver no longer requires the "needs_count" flag.
1996-02-13 18:27:28 +00:00
jonathan
1c03bcb897 Finish converting MAXINE dtop driver to use new-style config.
The dtop driver no longer requires the "needs-count" flag.

Fix a panic in boot-time interrupt establish. The "generic" pmax
interrupt-establish  code assumes that all interrupt args are new-config
device structs accessed via  a struct cfdriver.   Make it so.
1996-02-13 18:23:46 +00:00
jonathan
a43eb3baa6 Fix v_putc() conflict with the declaration in <sys/systm.h>: remove the
v_putc() declaration and assignment to a temp pointer. The rcons console
initialization longer requires that hack.
1996-02-11 07:14:58 +00:00
mycroft
9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
jonathan
10a140d34d Rename SCSI phase manifest constants from ASC_PHASE_* to SCSI_PHASE_*,
as the newer version of the Mach 53c94 driver does.
1996-01-31 23:38:55 +00:00
jonathan
219b1ef218 Re-write Decstation turbochannel autoconfiguration code to use the machine-
independent TC support in sys/dev/tc/tc.c and sys/dev/tc/tcvar.h:
  * Change the tc autoconfiguration tables to use a struct tc_attach_args
    instead of the ad-hoc structure.
  * Change all pmax device drivers to use a `struct confargs' that's
    assignment-compatible with  sys/dev/tc/tcvar.h `struct tcdev_attach_args'.
    Devices that can be present on a TC or as ioctl asic/mainbus builtins
    use  the same `struct confargs'.
  * Eliminate the `BUS_CVTADDR()' macros which the pmax port inherited from
    an old, now-obsolete sys/arch/alpha snapshot.

  * Update the comments and debugging code in interrupt handlers to
    be consistent with the machine-independent TC support.

Other commits that overlap the same source files include: re-enabling
clock-tick interrupts earlier, and counting hardclock ticks for vmstat -i.
1996-01-31 02:53:39 +00:00
jonathan
05ef657fb8 Some newer scsi-2 or scsi-3 drives reportedly return more data in
response to an inquiry command than was allocated here.  Add 1024
bytes extra padding, just to be safe.
1996-01-30 04:47:16 +00:00
jonathan
5ea2ec2357 Re-write Decstation turbochannel autoconfiguration code to use the machine-
independent TC support in sys/dev/tc/tc.c and sys/dev/tc/tcvar.h:
  * Change the tc autoconfiguration tables to use a struct tc_attach_args
    instead of the ad-hoc structure.
  * Change all pmax device drivers to use a `struct confargs' that's
    assignment-compatible with  sys/dev/tc/tcvar.h `struct tcdev_attach_args'.
    Devices that can be present on a TC or as ioctl asic/mainbus builtins
    use  the same `struct confargs'.
  * Eliminate the `BUS_CVTADDR()' macros which the pmax port inherited from
    an old, now-obsolete sys/arch/alpha snapshot.

  * Update the comments and debugging code in interrupt handlers to
    be consistent with the machine-independent TC support.

Other commits that overlap the same source files include: re-enabling
clock-tick interrupts earlier, and counting hardclock ticks for vmstat -i.
1996-01-29 22:52:15 +00:00
jonathan
764d54390c SAdd support for Sun-style framebuffer ioctl()s, as used by other NetBSD
[programs, notably /usr/sbin/screenblank.
1996-01-16 02:43:01 +00:00
jonathan
56ffba38d4 Fix how the cmap entries are updated, as contributed by Arne Juul
(arnej@pvv.unit.no). Xservers should now be able to set colours correctly.
1996-01-16 02:40:21 +00:00
jonathan
04d66273af Remove the config.old sys/arch/pmax/dev/{scc.c,if_le.c}. The "new" config
equivalents (back-ported from NetBSD/alpha) are in sys/arch/pmax/tc, and/or
in sys/dev/tc.
1996-01-12 05:38:27 +00:00
thorpej
5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
jonathan
659c4a2ece arch/pmax/tc -> dev/tc, pass 1:
Eliminate pmax/tc/tc.h. Use dev/tc headers for pmax port. Change pmax TC
autoconfig tables to use structs (mostly) compatible with dev/tc/tcvar.h.
Move TC console search to tc.c.
1996-01-03 20:39:10 +00:00
mellon
27f6298889 Obsoleted by sys/dev/tc/asc.c. 1995-12-29 03:49:15 +00:00
mycroft
3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
jonathan
28db87de35 Change pixel type from u_long to u_int32_t, to match rcons. 1995-12-14 16:27:33 +00:00
mellon
55980119ec Remove some cruft 1995-11-25 10:39:57 +00:00
mellon
8b29652e06 Fix colormap initialization for monochrome pmax framebuffer 1995-11-25 10:38:42 +00:00
jonathan
3b8faec21d Initialize pointer to the fb method table. Not initializing the
method table for the 2100/3100 fb caused a panic when an X server started.
1995-10-16 22:28:36 +00:00
jonathan
0736074d04 Fix bugs in the turbochannel config table for MAXINE (personal decstation). 1995-10-09 01:45:26 +00:00
jonathan
37d37e0791 Change the pmax framebuffer driver to reflect the rcons changes as negotiated
with pk:
Use dev/rcons/files.rcons in the pmax config file.
Use "rasterconsole" as the tag in pmax/conf, and modify the pmax
framebuffer pseudo-device drivers (fb and rcons) to us rasterconsole.h and
RASTERCONSOLE for compile-time configuration of the rcons pseudo-device.
Modify the pmax rcons pseudo-device driver to initialize a little-endian,
QVSS-compatible font (set its ascent, and set the rconsole structure to
point to that font) before calling rcons_connect().

Tested on a cfb.  The ascent may be wrong (or at least, not be aligned with
the hw cursor sprite) on a 3100.
1995-10-05 01:52:44 +00:00
jonathan
95a27d405b Update pmax kernel to compile with -Werror:
update MAXINE desktop bus driver to pass a softc to interrupt
handler.  The softc is still statically allocated.
1995-09-25 21:12:33 +00:00
jonathan
ed4d846a84 Update pmax kernel to compile with -Werror:
Add prototypes to the driver switch for old-style 4.4bsd/pmax device drivers
(i.e., the old pmax SCSI drivers).
1995-09-25 21:10:03 +00:00
jonathan
462ef77234 Use the new "struct rconsole"; changes I apparently forgot to commit with
pmax/dev/fb.c.
1995-09-24 23:13:00 +00:00
jonathan
21f7aa38f6 Update the pmax rcons pseudo-device driver to work with the sys/dev/rcons
version of rconsole.
1995-09-22 23:48:20 +00:00
jonathan
2991316b06 Remove unecessary references to arch/sparc/rcons/raster.h, and some other lint. 1995-09-20 05:36:13 +00:00
jonathan
3589d052f0 Add gory debugging, because I don't have access to a MAXINE to test
the baseboard framebuffer driver with rcons and it reportedly didn't work.
1995-09-20 05:19:54 +00:00
jonathan
d0c0f7f738 Fix initialization of MAXINE xcfb as console. 1995-09-20 05:13:06 +00:00
jonathan
9e925a1b42 Add cdevsw and bdevsw entries for the machine-independent sd and st drivers.
Add cdevsw and bdevsw entries for the old-pmax tz SCSI tape driver, and
add a do-nothing definition of the requisite tzdump().
1995-09-18 03:04:53 +00:00
jonathan
e18d468a1a move DEC qvss/pm - compatible (kernel tracks mouse) mouse-input parser
to qvss_compat.c  Move low-level mouse initialization to lk201.c.
1995-09-18 03:01:22 +00:00
jonathan
6d9de6f768 Fix qvss/pm compatible ioctl to set colormap entry. 1995-09-18 02:57:31 +00:00
jonathan
008afe8e46 Replace the old 4.4bsd/pmax framebuffer glass-tty font with one
suitable for the NetBSD/sparc-derived "rcons" framebuffer glass-tty.
1995-09-16 02:05:11 +00:00
jonathan
d7b9b56e07 Rename the old pmax SCSI driver's "struct scsi_device" to
"struct pmax_scsi_device", to avoid name conflicts with the sys/dev/scsi
SCSI driver.
1995-09-13 19:35:53 +00:00
jonathan
a0b0b167c1 Include the new fbio.h, fbvar.h, and lk201.h header files introduced
with rcons, as dtop.c supplies keyboard and mouse input from the desktop
bus, even though it hasn't itself changed.
1995-09-13 07:46:03 +00:00
jonathan
d69221cacc Delete the definition of struct VDACregs (the registers of a Brooktree
bt478 vdac); it's now in bt478.h.
1995-09-13 05:46:02 +00:00
jonathan
f5dc3f3d83 Fix bug (introduced by passing sc's rather than unit numbers) in the
computation of cfb interrupt-reset address for the 3MIN's interrupt routine.
1995-09-12 22:36:09 +00:00
jonathan
b216a24d04 Rename the 4.4bsd/pmax framebuffer glass-tty console structs to
"struct pmax_fbtty".  Remove most of its fields, since the fields
in the struct fbinfo render most of them unecessary, and the pmax
now uses rcons anyway. Moe the lk-201 keycode definitions to lk201.h,
so rcons can use them too.
1995-09-12 07:51:35 +00:00
jonathan
ab85287371 Correct a typo in the PROM id string of the sfb in sfb_match(). 1995-09-12 07:30:45 +00:00
jonathan
187de8a215 Change pmax rcons and low-level serial drivers to support the
old-style pmax polled input for cn_getc(). Needed because the
input side of rcons is not initialized in time for GENERIC kernels
to use it to read a root/swap devicename from /dev/console.

Fix an argument  glitch between consinit() and pminit().

Change consinit() to use PROM output for remote consoles, because
the serial drivers aren't yet initializable when consinit() is called.
1995-09-11 21:37:24 +00:00
jonathan
b4100ef220 Fix argument glitch between pminit() and consinit(). 1995-09-11 21:31:25 +00:00
jonathan
f8fbfa0ce8 Change pmax rcons and low-level serial drivers to support the
old-style pmax polled input for cn_getc(). Needed because the
input side of rcons is not initialized in time for GENERIC kernels
to use it to read a root/swap devicename from /dev/console.
1995-09-11 21:29:23 +00:00
jonathan
dec12b783d Initialization and keymapping code for DEC LK-201 and successor keyboards,
abstrated out of the pmax scc and dc7085 drivers.
1995-09-11 21:23:07 +00:00
jonathan
23366c17ff Rename the old 4.4bsd/pmax old-style config "struct device" to
"struct pmax_device" to avoid conflict with <sys/device.h>.

Change the signature of interrupt-handlers to take a void *
(a pointer to the softc) and return an int (indicating spurious
interrupts or other conditions.)
1995-09-11 08:29:11 +00:00
jonathan
ba769a296d Register definitions for the TURBOChannel Smart Frame Buffer (sfb). 1995-09-11 08:14:16 +00:00
jonathan
c8bef84d72 *** empty log message *** 1995-09-11 08:11:20 +00:00
jonathan
1d976e39b9 Change pmax framebuffer drivers to use Ted Lemon's port of the
NetBSD/sparc rcons glass-tty console pseudo-device driver, via
the "fb" generic-framebuffer pseudo-device driver.

Individual framebuffer device drivers are now autoconfig glue,
and initialization code for a set of vdac/ramdac-level methods,
called "fbdriver", that's used by all the pmax device drivers.
All the handlers for user-level requests (open/ioctl/read/write/close)
are moved into the fb pseudo-device driver, which uses the
the "fbdriver" methods to work on any given pmax hardware driver.
Framebuffers  supported are: sfb cfb mfb xcfb pm.

Move the qvss (pm) -style mmap()ed device interface, kernel tracking
of mouse button/movement events, and placing mouse/keyboard
events in an mmap()ed ring buffer, out of the framebuffer device
drivers and into separate source files. The fb pseudo-device driver
uses the qvss-compatible interface, since that's what the (R5) X
server uses.
1995-09-11 07:45:36 +00:00
jonathan
5124d90b3b Work around a NetBSd/pmax kernel bug inherited from 4.4BSD: the DEC
TURBOChannel cfb has a vertical-retrace interupt that cannot be disabled
in software. 4.4BSD and NetBSD don't supply an interrupt hander and
simply neverenable interrupts from slots with a cfb.  This has never
ever worked with a cfb in a 3MIN (Decstation 5000/1xx), where a TURBOChannel
card in slot 0 (or 1 or 2) interrupts at the same IPL as spl0() (or spl1
or spl2), and there's also never been support for selectively enabling or
disabling those interrupts on a 3MIN, in either NetBSD or 4.4BSD.

This  revision add an interrupt handler for the cfb, used only on 3MINs,
so that a 3MIN can boot with a cfb as console, and enable/disable of TC
slot interrupts can be debugged. (Serial consoles via ioasic SCCs still
don't quite work,  and simply clearing the relevant bits in the R3000 cause
register is apparently over-ridden by a subsequent spl0() somewhere else.)
1995-08-29 09:56:23 +00:00
jonathan
7560ab9b68 Rework the pmax scc driver, which hadn't changed much from the 4.4bsd
pmax driver, to be diffable with the NetBSD Alpha driver. Specifically,
the pmax driver now uses register names dev/ic/z8530.h. The driver now
uses new-style config and dynamically-allocated softc structures.  The
driver no longer resets the "other" channel on an SCC when changing tty
parameters. The #ifdef'ing away of processing of the output clist for
non-console lines is no longer done.  (Non-console serial ttys might even
work now.) Other discrepancies between the pmax and alpha drivers, which I
don't understand yet, are marked by XXXes.

The 4.4bsd pmax console redirection code is still present, protected
by #ifdef TK_NOTYET. Diffs from the Alpha scc driver are now minimal.

Verified to boot on a Decstation 5k/240.
1995-08-21 21:42:10 +00:00
jonathan
97cf65df4a Change pmax ASC driver to use dynamically-allocated softc structures.
Concomitant changes to code that prints driver/unit name: use dv_xname
and dv_unit, instead of doing pointer arithmetic on elements of the static
softc array.

Remove support for old config.  The old-config "driver" structure
is still present, because the pmax non-MI SCSI driver needs it.

Merge some off Per Fogelstrom's changes for the Pica driver,
which uses the machine-independent SCSI code. This is #ifdef'ed
out until the DMA is fixed to work on Decstations, too.
1995-08-21 21:22:43 +00:00
mycroft
21bd4f21f6 Use splimp(), not splnet(), for now. 1995-08-13 00:07:17 +00:00
jonathan
e3b5a34826 Update DECstation Lance ethernet driver to use new-style config. 1995-08-10 04:27:43 +00:00
jonathan
88b9b7eb4a Update DECstation drivers to use new-style config, removing
old-style config support, except for SCSI disks and tapes.
1995-08-10 04:21:35 +00:00
jonathan
1bacfdc2dd Add preliminary support for new-style configuration: struct cfdriver,
and match and attach code.  Still use the static softc so that drivers
work with kernels configured with either new or old config.
1995-08-04 00:26:35 +00:00
jonathan
d7bb0a516f Add header files with prototyped declarations of the serial-chip hooks
used by old-style pmax console configuration.
1995-08-04 00:22:02 +00:00
jonathan
9b50b450f7 Add DS_3MAXPLUS (kn03) to switch statements for redirecting input
to and from SCC devices. (The 3MIN was supported but not the 3MAXPLUS).
1995-08-01 23:15:26 +00:00
jonathan
9aae39ad42 Partial rewrite of rz dump routine. Doesn't yet write to disk but
does everything else. No worse than returning ENXIO, as we used to.
1995-07-24 19:36:52 +00:00
jonathan
1354a15fb5 Add support for Decstation 5k/240 (3MAXPLUS) to the switch controlling
redirection of console serial input (keyboard, mouse). Fixes non-redirection of
keyboard to X server on a 5k/240.  The Mfb and sfb drivers are similarly broken.
1995-07-22 05:04:46 +00:00
jonathan
9c4be79d84 Clean up Ultrix compatiblity code: redo Ultrix label reading code
to have the same interface as native readdisklabel(), call it cleanly
from caller of readdisklabel(), and fix bug that left d_npartitions at 1
for ultrix-compat labels. Ultrix labels now actually work.
1995-07-14 01:05:22 +00:00
jonathan
eac9104365 Add stubs for previously-undefined tzwrite(), tzread(), since the new
pmax conf.c references them.  A cut-and-paste job from the pmax
rzwrite() and rzread().  tzwrite() and tzread() are utterly untested.
tzwrite() should also check for write-protect, or handle writes to a
write-protected tape gracefully.
1995-07-12 07:24:27 +00:00
mellon
34f8cc760a leinit: we always have at least one address now. 1995-06-27 19:54:49 +00:00
jonathan
8a93b408d6 Fix BPF bit-rot in receive side of pmax/dev/if_le.c: prepend ether header. 1995-05-31 00:15:46 +00:00
jonathan
64b99b333d The pmax 3100 interrupt-init code is broken: cpu_startup() enables
interrupts before it calls configure().  On 3100s, this can result in
the ethernet interface interrupting before leprobe() is ever called.
Be a bit more defensive in leintr(), where it was dereferencing a null
pointer.  This reputedly fixes the oft-reported problems of 3100s not
ooting unless they're on an idle net or had a hard reset done before boot.
(Reworking the config code completely would be nice too.)
1995-05-02 20:00:09 +00:00
mellon
6a233c363c Fix up tty struct change from conf.h 1995-04-21 01:24:26 +00:00