Commit Graph

918 Commits

Author SHA1 Message Date
jonathan 59125ec0c9 Define delay() for pmax asc driver, mips_mcclock. 1998-04-19 08:22:22 +00:00
jonathan 85e00b2364 Add -D__pmax__. Leave -Dpmax until all uses changed to __pmax__. 1998-04-19 08:01:01 +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 9873ee237f Add dependencies on Makefile for SYSVSHM, SYSVIPC options. 1998-04-19 04:51:18 +00:00
jonathan d4a24f85d6 Support shared Decstation 3100 and Decsystem 5100 baseboard devices
using a virtual "ibus" for  baseboard devices.
1998-04-19 02:52:45 +00:00
jonathan 53c671e26c Add locore assembler functions to read mips3 cycle counter, and
read and write compare register (controls cycle-driven periodic interrupt).

Use cycle counter for microsecond time on mips3, but for now only on
3min motherboards (5000/150).  the MAXINE baseboard microsecond
counter is more stable and I don't ave no 5000/260 to test.

XXX clkread() is a mess, it should be rewritten.
XXX should add nanotime() to give inkernel nanosecond resolution,
    and then microtime() reworked to use nanotime().
1998-04-19 01:48:34 +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
tv b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
jonathan d850158a7e Garbage-collect pmax_boardtype. Remoe pmaxtype.h includes from TC
framebuffer code. Elsewhere, use systype.
1998-03-31 11:32:52 +00:00
jonathan e485e43d44 Add writebuffer-flush for Decstation 5400, 5100 which use
coprocessor 3 for writebuffer control.
1998-03-31 11:04:10 +00:00
jonathan 88d943c976 Add emtpy entries for unused systypes between 5400 (0x6) and 5500 (0xb) 1998-03-31 11:00:01 +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 ba4e7c74a9 Remove ancient non-MI pmax/tc/tc.c code. 1998-03-30 10:41:34 +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 fff42c01c8 Define IPL_ constants for pmax. 1998-03-30 09:07:08 +00:00
jonathan 920f9e8dc9 Declarations for shared 3max(kn02)/3maxplus(kn03/kn05) memory
subsystem and NVRAM code.
1998-03-30 09:02:03 +00:00
jonathan e7e94824b9 Move sprintf() of model string after call to model-specific *_os_init()
routine, so that cpu_mhz is set.
1998-03-30 06:45:37 +00:00
mrg ca86fc945e <pmax/pmax/trap.h> has been obsoleted... 1998-03-30 04:45:50 +00:00
jonathan b800227f95 Garbage-collect old code for direct attachment. 1998-03-30 02:34:25 +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
jonathan 0e0d7a04aa Split 3max (kn02) and 3maxplus (kn03, kn05) memory-error handling out
dec_3max.c into a shared file. These models have compatible memory
subsystems, the same memory slots, and (apparently) the same error reporting.

Add markers for where MNN probes for configurations with a mixture of
RAM sizes and for Prestoserve NVRAM (in normal RAM slots) should go.
1998-03-29 01:12:14 +00:00
jonathan 6b2d0fa8a0 * Create /sys/arch/mips/include/intr.h, with extern declaration of
interrupt-callout vector from mips locore dispatch code to port code.
* Move branch-emulation declaration to mips/include/trap.h.
* Garbage-collect pmax/pmax/trap.h.
  Not needed now pmax/pmax_trap.c is gone, and after above tidy-up.
1998-03-26 12:46:33 +00:00
jonathan 01be9f533f Add extern declaration of old "systype" global variable holding model type,
until all pmax code uses platform support.
1998-03-26 11:44:28 +00:00
jonathan 4d3f17a9f7 Garbage-collect oldstyle model-select options from GENERIC. 1998-03-26 11:35:42 +00:00
thorpej dd3d062237 Delete a couple of gratuitous printfs. 1998-03-26 06:36:36 +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
thorpej 38d5126caf Set cpu_model in the dec_foo_init() functions, make them consistent and
descriptive, and print the model before reporting physical memory size.
1998-03-26 06:32:37 +00:00
thorpej b6fca1a9c8 The line between "family" and "model" are ... very fuzzy on the DECstation.
So, don't bother.
1998-03-26 06:27:57 +00:00
thorpej d654444e88 Right now all platforms use the tc_slot_info[] stuff, so put it in a place
where everyone can get at it.
1998-03-26 03:12:05 +00:00
thorpej 17513c206c make this compile 1998-03-26 01:09:04 +00:00
thorpej 60e832dc24 Make this compile. 1998-03-26 01:01:13 +00:00
jonathan b40a3c98f5 Use an MD name for the FPU-interrupt mask, as in PR # 4399.
mips-based Sony news wire the FPU to hard-interrupt 3, rather than 5
as recommended in Kane.
1998-03-25 08:35:39 +00:00
jonathan 5456233e69 Garbage-collect old warnings.
Cvs: ----------------------------------------------------------------------
1998-03-25 07:43:12 +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 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 ee65226ab6 Declarations for shared 3min/maxine memory handler. 1998-03-25 06:04:31 +00:00
jonathan dace384659 Update config files after splitting model support. 1998-03-25 04:17:08 +00:00
jonathan 7c6a97f474 Update GENERIC and R4000 configs after splitting model-speciifc support. 1998-03-25 04:05:35 +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 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 fd312c64ee Fix off-by-one botch in cdevsw entries which broke ipf, tun.
Rearrange to match existing MAKEDEV entries. Add lkm back in.
1998-03-24 04:17:58 +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