Commit Graph

210 Commits

Author SHA1 Message Date
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
c6641d91a8 Merge IOASIC register definitions. 2000-02-03 08:13:44 +00:00
nisimura
f3837e8a9d Not to use (cfdata->cf_unit > 0) conditional in device match() routine. 2000-02-03 05:22:47 +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
251eb03a2b Only prototype and include code for scc_kbd_init() and scc_mouse_init()
if NRASTERCONSOLE > 0.  Fixes problem reported on port-pmax by Anders
Andersson.
2000-01-18 12:19:49 +00:00
simonb
bdf420bdbf Redo interrupt establishment, based in part on work on the
[nisimura-pmax-wscons] branch and suggestions from Toru Nisimura:
 - Remove bogus tc_slot_info[] name for interrupt handling array
   and replace with simplified struct intrhand  intrtab[] array.
 - Add intr_establish() and intr_disestablish() function pointers
   to struct platform and initialise this in each model-specific
   initialisation, and remove global tc_enable_interrupt function
   pointer.
 - Remove model-specific function declarations from ibus/ibusvar.h.
This is functionally identical to the current scheme, and doesn't
yet try to commonise interrupt establishment by bus type as the
[nisimura-pmax-wscons] branch does.

Also, move cpuspeed variable from autoconf.c to machdep.c
2000-01-14 13:45:21 +00:00
simonb
ede7778a1c Remove unneeded include files (up to 16 in two files!). 2000-01-10 03:24:31 +00:00
simonb
6713f95947 Add trailing quote to RCS ID. 2000-01-10 01:57:41 +00:00
ad
0ab584940f RCS ID police. 2000-01-09 23:12:30 +00:00
ad
ef9dba7791 - Protect against multiple includes.
- Spacing.
2000-01-09 23:10:45 +00:00
simonb
24ddcc3162 Use the badaddr() prototype in mips/include/cpu.h by including
<machine/cpu.h> in mips/include/mips_param.h.  Remove duplicate
badaddr() prototypes from some pmax header files.
2000-01-09 13:24:14 +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
576e373b42 Start of the "The Big Cleanup" - remove "ifdef alpha". This has
diverged enough from the alpha scc.c that keeping any pretence of
portability is not worth it.
2000-01-07 14:12:51 +00:00
simonb
b1ab053e2c Ick - include pmioctl.h to get the pmEventQueue typedef needed for
qvssvar.h (needed for the mouseInit() prototype).  This _will_ be
cleaned up soon!
2000-01-04 23:15:03 +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
c2f5cc273c Don't use our own defines for SCCDEV or RCONSDEV - pull in
<pmax/pmax/cons.h> for these values.
1999-12-08 01:29:11 +00:00
simonb
f3e001c3ac Fix typo in 3max+ scc1 device declaration - console output on a serial
console 3max+ works again.
1999-12-06 11:52:36 +00:00
nisimura
06276dc255 Fix wrong figures in comments. 1999-12-01 08:55:09 +00:00
nisimura
f0771e6b9b Arrange comment descriptions for internals of TC DECstations. 1999-12-01 08:41:41 +00:00
nisimura
6aa5cbc76c Replace old asic.c with one imported from a development branch. 1999-12-01 08:39:20 +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
nisimura
8bcd9ac481 Consistent panic messages when erroneous kernel configurations are found. 1999-11-17 03:42:20 +00:00
nisimura
5948b59226 Fix a typo in PX TC device identification case analysis. 1999-11-16 02:39:03 +00:00
nisimura
0310fa6595 Very large scale change to sweep obstracles to remove 3MAX IOASIC disguise.
- Rework ibus device configuration and interrupt handler assignment.
- Remove TC device exposure in 'mainbus.c'
- Squash 'ibus_{3100,5100}.c' into a file; it can not cope with 3max.
- 'struct confargs' -> 'struct mainbus_attach_args'
Now about to remove tc_slot_info[] and tc_enable_interrupt inherited from
4.4BSD.
1999-11-15 09:50:17 +00:00
nisimura
7fbac8b3cc - Remove defunct codes and arrange consistency between pmax and alpha.
- Reduce 'ioasic_base' expose.
1999-10-01 09:19:42 +00:00
nisimura
de20527da0 Forgot to commit an important change for bus_space/bus_dma. 1999-09-28 08:05:42 +00:00
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