Commit Graph

182 Commits

Author SHA1 Message Date
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
nisimura f563627c41 Remove now defunct local implementation of ioasic_lance_dma_setup(). 1999-09-09 06:41:08 +00:00
nisimura c1122ccf3d - Nuke '#ifdef alpha' which brings little useful, plus a small cleanup. 1999-09-03 07:12:45 +00:00
mrg 39a5b02150 if there are no FB devices, tc_consprobeslot() fails always. 1999-08-02 12:01:46 +00:00
ad 724365fa3e Change the way fb devices are configured and attached:
- 'struct fbsoftc' created, which points to a 'struct fbinfo'
- 'struct fbinfo' for each device is allocated with fballoc()

This means:
- Console device doesn't get different 'struct fbinfo' at attach
- Console device doesn't get initialized twice
- Color rcons now works
- The current Xserver MUST BE REBUILT.
1999-07-25 22:50:28 +00:00
ad 118d1e7afa Remove a few entries for nonexistant TC graphics boards. 1999-06-24 18:47:58 +00:00
nisimura 9e798fbe20 - Forgot to commit these two. 1999-04-26 09:36:05 +00:00
simonb dc1d3940db Nuke register and remove trailling white space. 1999-04-24 08:01:01 +00:00
mrg ad52a7fe49 make this compile again with no rcons. 1999-04-20 06:42:54 +00:00
ad cf19d10b2a Added console initalization glue to allow `px' device to function as the
console.
1999-04-13 18:50:51 +00:00
pk b13e5d1469 Quote "AS IS" as in the majority of Carnegy Mellon notices. 1999-04-12 20:38:17 +00:00
pk c40eb1cd97 Fix a pasto in copyright text which has been procreating like rabbits.. 1999-04-06 20:09:18 +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
simonb 46c6663ce4 Don't prototype ioasicprint() - the prototype is now in
dev/tc/ioasicvar.h and we don't use it here anyway.
1999-03-18 06:37:35 +00:00
jonathan ef79649fc1 MI ioasic softc and child-device structs, gc duplicate struct definitions.
Add MI ioasic functions, but dont enable on alpha until tested.
1999-03-15 01:25:26 +00:00
jonathan 78bc84c223 Clean up initializers for pmax ioasic children. Use same struct as alpha. 1999-03-14 23:59:53 +00:00
nisimura e846ee9b9b - Nuke old leftover; round two. XXX Still there 3MAX's IOASIC disguise.
Rework will be done in conf/files.pmax, anyway.
1999-03-12 08:15:27 +00:00
nisimura 57edf91cbc - Nuke old leftover bogocities, round one; externs for non-existent
functions, less-intuitive #define's in inappropriate header files.
1999-03-12 07:13:14 +00:00
nisimura 7c40ddedec - Nuke old leftover. This has no useful information and not used by any
other files.
1999-03-04 01:48:09 +00:00
kleink 15afeeecca Remove an incorrect (but harmless) comment. 1999-01-29 08:42:27 +00:00
jonathan 9c2700d2b8 Jason Thorpe's changes from PR#6848. Makes 115200 bps work on some systems.
Reverse sense of #ifdef to disable 76.8k and 115.2k until we can verify
it works on all 8530 chips (similar changes didnt work on a /240 in 1996).
1999-01-28 10:28:43 +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
jonathan ba531b48c6 Use console_debugger() hook to enter DDB. 1998-10-29 21:25:17 +00:00
mhitch 2c412f42bb scc_softCAR is a bit array, so set it accordingly for a serial console
port (instead of using the scc line number).
1998-09-07 19:54:15 +00:00
nisimura a3d9c9bd87 - Clearify what ioasic_init() is for. No runtime difference because
NetBSD/pmax does not fully utilize the hardware features.
1998-09-05 05:54:15 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
thorpej c8092e5d3b Provide bus_space and bus_dma data structures to the TurboChannel bus. 1998-05-22 21:14:40 +00:00
thorpej aaf43a156e Make this build for a 3MAX-only kernel. 1998-05-21 17:41:29 +00:00
jonathan cb015e952e Resync 3max (kn02) support. 1998-04-25 16:29:06 +00:00
jonathan bdf3cb0884 * Fix typo in ROM name of mfb (PMAG-AA)
* Use TC_ROM_LLEN instead of constant, add space for sentinel.
* Don't print fb dimensions at console-probe time.
1998-04-20 02:46:59 +00:00
jonathan c7597ae8b8 Rework, based loosely on suggestions from Tohru Nisimura.. 1998-04-19 10:18:20 +00:00
jonathan 9caaf18836 Rework pmax turbochannel config, as suggested by Jason Thorpe.
Also make TC framebuffer-console search table-driven.

Does not yet include "tcasic" layer; there's no such hardware on DECstations
and nothing for a tcasic layer to do.
1998-04-19 07:59:13 +00:00
jonathan e487483678 oops, diffs to use dev/dec/mcclock_pad32 were in a different tree. Fix. 1998-04-19 07:54:45 +00:00
jonathan c84f4e94d9 Copy alpha/tc/mcclock_ioasic.c (duplicated in pmax/tc/mcclock_ioasic.c)
into sys/dev/dec and split into a clockfns layer and a "middle" layer
for other DEC systems which use mcclocks with each onchip byte
register padded out to a 32-bit word.

Clone alpha/alpha/mcclock (also duplicated in pmax port) into
sys/dev/dec, and ifdef for default clockrates on pmax and alpha.

Use new machinery on pmax for ibus,ioasic attached mcclocks.
1998-04-19 07:50:25 +00:00
jonathan ba4e7c74a9 Remove ancient non-MI pmax/tc/tc.c code. 1998-03-30 10:41:34 +00:00
mrg ca86fc945e <pmax/pmax/trap.h> has been obsoleted... 1998-03-30 04:45:50 +00:00
jonathan e7312dce1d * Mouse reset blocks waiting for response for mouse.
Only initialize the mouse if we are using rcons as the console device.
1998-03-30 02:15:37 +00:00
thorpej 8a86fd47be It's Just Wrong to configure a KN02 system slot as an IOCTL ASIC, but
since it's currently done that way, nuke the gratuitous printf that
reports the behavior.
1998-03-26 06:35:27 +00:00
jonathan 383ff0cb59 * Use new defopt model-specific options and opt files.
Replace all DS5000_* and DS3100 ifdefs with ifdefs on DEC_ options.
* Use MI declarations, not pmax-specific, in model-specific init
  that uses baseboard (ioasic) registers.
* Further cleanup of machdep.c.  Clock-tick still needs more thought.
* Use 'ibus' names for 3100 baseboard devices in MI code.
1998-03-25 06:22:19 +00:00
jonathan 6975dc93a9 Split sys/arch/pmaxpmax/{machdep.c,trap.c} as suggested by Jason Thorpe:
* add "Platform" support inpmax/pmax/sysconf.c and pmax/include/sysconf.h
   (based on Alpha cpuconf.[ch], with a namechange to avoid clashes with
   support for  models of MIPS cpus. They  differ more than Alphas).

 * For each supported model of DECstation, create a separate file
   with the support for that model.  Use model codenames, since
   support is really baseboard-specific and CPU daugherboards can change.
   Move code from machdep.c and pmax_trap.c,
   Add sysconf (nee "cpuconf") support.

 * Rename model-specific functions to match sysconf names.

 * Clean up autoconf.c.  Use platform callbacks.

 * Retire pmax_trap.c.

Leaves  I/O bus configuration and console configuration untouched.
1998-03-25 03:57:53 +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 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 e1cc91fde3 Elimiate whitespace KNF botches due to emacs/X cut-and-paste. 1998-03-22 07:56:28 +00:00
jonathan 456c5d02c4 oops, forgot more whitespace changs and alpha_mb() -> tc_mb(). 1998-03-22 07:25:40 +00:00
jonathan 5cfab7fb5b Whitespace, cosmetic changes against alpha/tc/scc.c 1.40. 1998-03-22 07:15:20 +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
jonathan 580a0a4d12 Add local `extern' declaration of ioasic_cd, as in alpha/tc/scc.c.
Missed here after the removal of  ioasic_cd decl from ioasicvar.h.
1998-02-05 01:57:35 +00:00
jonathan 5ca978e981 Use correct name ("ioasic") when checking parent bus. 1998-02-01 02:25:34 +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 a5449ca17c Back out read-side DELAY() in previous revision added on advice of
tech-kern.  Reported by Sean Davidson to cause erroneous doubling of
keyboard input on a 5000/50 under load.

Increasing the DELAY() from 2 to 30 doesn't help. Remove it for the
1.3 release. May cause problems with low-speed serial input, but
console keyboards work properly.
1997-11-14 01:38:57 +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 fbac6ffd1b Delete ancient warning printf() from when this code hadn't been
tested on  3MIN or MAXINE motherboards.  Add __KERNEL_RSID while we're here.
1997-11-08 07:15:35 +00:00
mhitch 56c4befa83 Add an entry for the bus_space_tag in the TC attach argument tables. Fixes
PR #4100.
1997-09-24 02:45:12 +00:00
jonathan 5d53ad5ef5 Garbage-collect Mach_clock_addr outside of machdep.c.
Use as mcclock_addr inside machdep.c, to disable clock interrupts
until the clock is autoconfigured.
1997-08-06 12:03:34 +00:00
jonathan 787738a4f7 Move sys/dev/tc/mcclockvar.h -> sys/dev/dec/mcclockvar.h.
Update pmax clock code.
1997-07-22 07:51:33 +00:00
jonathan 8da32cee34 Include /sys/dev/dec/clockvar.h. Garbage-collect tc/clockvar.h. 1997-07-22 04:49:58 +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
jtk ca1bba150a use locator defines in "locators.h" to index cf_loc[] 1997-07-17 03:16:39 +00:00
jtk 37f9c6bd88 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:17:45 +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 89868a5f07 Import mcclock from NetBSD/Alpha, mostly replacing the Sprite clock code.
interface.   From Toru Nishimura <nisimura@itc.aist-nara.ac.jp>.

Partly merged back with Alpha code by Jonathan Stone. Needs more merging.
1997-06-22 09:34:34 +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
jonathan 3d2676b809 Garbage-collect '#include <machine/pte.h>'. 1997-06-16 23:52:06 +00:00
jonathan 3409ae8dcd Garbage-collect <machine/locore.h> 1997-06-16 04:30:15 +00:00
jonathan c34f92cbd1 <machine/locore.h> -> <machine/bus.h> 1997-06-16 04:18:57 +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 4eb69e0839 DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from
machine/locore.h.
1997-06-15 18:03:24 +00:00
mhitch 8059cbb275 Use TC_SPEED* for turbochannel speed values (keeps me from being confused
more than I am).
1997-06-15 16:53:40 +00:00
jonathan 4cf3fe8b78 lint: add prototype for pmax serial-console inithook. 1997-05-25 10:28:22 +00:00
jonathan c0c7efb178 Delint debugging-printf() macro. 1997-05-24 09:30:27 +00:00
jonathan 588324e3fb Lint: include prototypes for TurboChannel framebuffer console-init functions.
include prototype for printf() and panic() and delint calls.
1997-05-24 09:17:24 +00:00
mellon d3c5a81e19 Don't do rcons-specific things if no rcons pseudo-device was declared. Clean up probe-time printfs. 1997-05-15 07:24:37 +00:00
jonathan 13f3645083 Merge in changes from Alpha scc driver with RCS log message:
>  revision 1.33
>  date: 1997/05/15 02:15:55;  author: thorpej;  state: Exp;  lines: +8 -4
>  - In sccmatch(), check any user-specified offset, allowing scc unit numbers
>  to be nailed down.  From Ken Hornstein <kenh@cmf.nrl.navy.mil>, PR #3626,
>  slightly modified to allow wildcarded offsets.
>  - Blow away the cf->cf_unit check in sccmatch(); it's bogus.

Also gc usused references to  NSCC and #include "scc.h"
1997-05-15 04:49:32 +00:00
jonathan 26adc250c2 Stop ignoring DCD transitions on ioasic SCC serial lines.
From entropy@zippy.bernstein.com>.
1997-04-26 02:26:54 +00:00
jonathan f5343d2229 Cleanups, and convergence with the Alpha driver:
* kill scc_tty[] and needs-count.
  * Add usable-when-cold version of sccparam().
  * Add pre-autconf() console initialization entrypoint.
  * remove lint for gcc -Wall
  * wbflush() -> tc_mb()
all but the last of which have been fed through cgd and committed to the
Alpha scc driver.
1996-10-16 05:04:51 +00:00
jonathan 4be3cd1350 Remove pmax/tc/if_le.c. Superseded by sys/dev/tc MI TC/ioasic lance drivers. 1996-10-13 13:18:06 +00:00
christos d286889901 backout previous kprintf change 1996-10-13 03:39:27 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
jonathan 998ce62cdf Update pmax drivers to use "const" on 2nd arg to cfprint_t:
turbocnhannel: include/tc_machdep.h, tc/tc_subr.c, tc/asic.c
    kn01 baseboard: pmax/mainbus.c
1996-10-06 06:29:51 +00:00
jonathan be23611556 Apply diff from the 1.2 release branch, so that ugly IOASIC debugging
is disabled by default:
>revision 1.9.4.2
>date: 1996/09/09 20:19:11;  author: thorpej;  state: Exp;  lines: +2 -18
>Disable IOASIC_DEBUG so that autoconfiguration looks normal, by request
>of Jonathan Stone
1996-09-09 21:32:20 +00:00
mhitch b7ef581afb The MAXINE serial console is on scc0 (the only SCC on the MAXINE) instead
of scc1.  Fix the check of which scc to initialize the console serial line
so that the MAXINE serial console will work.
1996-09-07 01:25:37 +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
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +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 acebbfc2bd Fix sfbinit() call to pass four arguments, not three, matching the
signature in sfb.c, which was changed to support multiple sfb devices.
1996-08-21 14:02:48 +00:00
jonathan 2311fa5f31 Fix typo, colon instead of semicolon when DS_5000_25 is not defined. 1996-06-17 07:59:39 +00:00
mhitch 56a2e98b80 Do tty_attach() for serial lines. 1996-06-16 16:49:07 +00:00
jonathan d56e7d7f50 Fix for PR #1828 and partial fix for PR #2548:
* Eliminate the #ifdef DS5000 and kernel config option DS5000 altogether.
  option DS5000 was a hangover from 4.4bsd/pmax; it's never been clear
  if it means "support for DS5000/200" or "support for any TC machine".
  This implictly fixes pr 1828.

* Use the  "tc.h" and NTC generated by config for a "tc? at mainbus"
  where appropriate, intsead of #ifdef DS5000.


* Canonicalize the spelling of kernel options that enable support
  for particular models. Use
	DS5000_25	for the Personal Decstation aka MAXINE aka KN02-ca
	DS5000_100	for the 5000/1xx series aka KMIN aka KN02-ba
	DS5000_200	for the 5000/200 aka 3MAX aka KN02
	DS500_240	for the 5000/240 aka 3MAXPLUS aka KN03

and change  DS_5000_xxx to DS5000_xxx everywhere.

* Wrap the  interrupt handlers for each model in the appropriate #ifdef,
  instead of wrapping all of them with "#ifdef DS5000".

* Wrap the TC autoconfig for each model in the appropriate #ifdef.
1996-06-15 19:05:24 +00:00
mhitch fe55416706 Fix autoconfiguration stuff to more closely match the alpha - primarily
the IOASIC attached devices.  The DS3100 will now configure properly.
Fix the DS5000/25 IOASIC table entry for the RTC so the RTC interrupts
get enabled.
Fix up a moved include file.
1996-05-29 06:29:02 +00:00
jonathan 7469cf4c88 Add port number encodings. 1996-05-19 18:24:33 +00:00
thorpej c3c4b6f9f3 Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:23:31 +00:00
christos 78403e6c0c Add a hardware dependent initialization function lehwinit() 1996-04-22 02:25:54 +00:00
cgd d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
jonathan 2d2bc47dae Additional fixes to complete the NetBSD/1.1B config changes:
Add new device-attach struct cfattach le_tc_ca and struct cfdriver le_cd.
Change IOASIC cfdriver references  from "ioasiccd" to "ioasic_cd".
Change  "mainbuscd" to "mainbus_cd"
1996-03-18 01:22:27 +00:00
jonathan f7af868d1f Additional fixes to complete the NetBSD/1.1B config changes:
change IOASIC cfdriver references  from "ioasiccd" to "ioasic_cd"
1996-03-17 22:20:08 +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
jonathan 467a64a327 Replace tc.c and ds-tc-conf.c with a re-written tc_subr.c. tc_subr.c
works with the revamped machine-independent TC code in sys/dev/tc.
A name change is necessary to avoid a name clash with sys/dev/tc/tc.c,
which also creates a tc.o.
1996-02-27 22:35:05 +00:00
jonathan 776c58e187 TurboChannel bus auto-configuration tables, and TurboChannel pre-autoconfig
probe functions for console framebuffers,  rewritten to work  with the
machine-independent TC support in sys/dev/tc.
1996-02-27 22:28:08 +00:00