* ibus (virtual bus for baseboard direct-attach deviecs)
* 5100 support, using ibus
* rename "clock" to mcclock for future support of Qbus machiens
* use sys/dev/dec mcclock_pad32 machinery for pmax mcclock
* reworked TC config code.
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.
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.
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().
* 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.
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.)
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.
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.
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.
* 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.
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.
* 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.
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.
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.
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.