- * qd.c
- *
- * Modification history
- *
- * QDSS workstation driver
- *
- *
- * 1-Dec-87 - Tim Burke
- *
- * Added support for both System V termio(7) and POSIX termios(7). These
- * changes also include support for 8-bit canonical processing. Changes
- * involve:
- *
- * - Default settings on first open depend on mode of open. For termio
- * opens the defaults are "RAW" style, while non-termio opens default
- * to the traditional "cooked" style.
- * - The driver now represents its terminal attributes and special
- * characters in the POSIX termios data structure. This contrasts the
- * original approach of storing attributes and special chars in the
- * t_flags, ltchars and tchars.
- * - Addition of LPASS8 to local mode word for 8-bit canonical support.
- *
- * 28-Sep-87 - Ali Rafieymehr
- * Fixed a bug in qddint() routine. The bug was discovered on CVAX.
- * Incorrect logic was used when taking an entry from the request queue.
- *
- * 12-Oct-87 - Tim Burke
- * Modified driver to provide 8-bit support to the console port. To do
- * this characters are defined in the remainder of the first 15 rows of
- * off screen memory as well as in next 15 rows.
- *
- * 2-Aug-87 - Fred Canter
- * Use TANDEM mode on qconsole for flow control of writes to
- * /dev/console.
- *
- * 12-Jun-87 - Tim Burke
- *
- * Added full TERMIO functionality to terminal subsystem.
- * Changed open routine to setup propper default settings if the line
- * is not being used as a graphics device. Added defines of defaults.
- *
- *
- * 14-May-87 - Fred Canter
- * Changed default state of kernel_loop to on.
- *
- * 21-Apr-87 - Brian Stevens
- * Xos support
- *
- * 16-Apr-87 - Fred Canter (for Brian Stevens)
- * Multi-head GPX changes.
- *
- * 19-Mar-87 - Fred Canter (for Brian Stevens)
- * Added X in the kernel support.
- *
- * 16-Dec-86 - Brian Stevens
- *
- * added support so "select" could be called on tty type device
- * fixed rlogin bug
- *
- * 30-Oct-86 - Brian Stevens
- *
- * Removed the mprintf for "unexpected interrupts"
- *
- * 26-Aug-86 - rsp (Ricky Palmer)
- *
- * Cleaned up devioctl code to (1) zero out devget structure
- * upon entry and (2) use strlen instead of fixed storage
- * for bcopy's.
- *
- * 21-Jul-86 - Ram Rao
- * allowed cursor rectangle to hang (partially) off the
- * top and left of screen
- *
- * 11-Jul-86 - ricky palmer
- *
- * Added adpt and nexus fields to DEVIOCGET code.
- *
- * 02-July-86 - Brian Stevens
- *
- * added support for console writing to second QDSS display
- *
- * 20-May-86 - ricky palmer
- *
- * Added new DEVIOCGET ioctl request code. V2.0
- *
- * 16-Apr-86 -- darrell
- * badaddr is now called via the macro BADADDR
- *
- * 14-Apr-86 -- afd
- * Changed UMEMmap to QVmap and umem to qvmem.
- *
- * v_console() is now refered to as v_consputc, and there is a
- * corresponding v_consgetc() (defined in /sys/vax/conf.c).
- *
- * Added "qdgetc()" routine for console read. Needed to read
- * user's answer to the "root device?" prompt with a generic kernel.
- *
- * 19-Mar-86 -- pmk
- * Change DELAY to 20000, because microdelay now in real microsec.
- *
- * 18-mar-86 -- jaw br/cvec changed to NOT use registers.
- *
- * 11 mar 86 darrell replaced percpu with cpusw, and removed all but
- * one global reference
- * 19 feb 86 bstevens no report of motion event on puck/stylus button action
- * 18 feb 86 bstevens put in cursor box support for tablets
- * 18-Mar-86 -- jaw add routines to cpu switch for nexus/unibus addreses
- * also got rid of some globals like nexnum.
- * ka8800 cleanup.
- * 06 dec 85 longo added LK-201 error reporting for graphics device ops
- * 03 dec 85 longo made qddint() clear active bit on error
- * 02 dec 85 longo fixed up some crocks in the error messages
- * 25 nov 85 longo added error handling to DMA ISR and single user locking
- * 19 nov 85 longo eliminated "set_defaults()" by breaking out sub-calls.
- * Changed init_shared to do real init of scroll struct
- * 12 nov 85 longo fixed bug in open that broke alternate console re-direct
- * 11 nov 85 longo changed "_vs_eventqueue" references to "qdinput"
- * 08 nov 85 longo improved select service for read/write select wakeup.
- * Also set ISR's to ipl4 to allow the interval timer in.
- * 04 nov 85 longo fixed bugs in mouse button reporting and dma request stuff
- * 30 oct 85 longo DMA to/from user space is in place
- * 14 oct 85 longo added kernel msg redirect and QD_RDCURSOR ioctl
- * 03 oct 85 longo added support for multiple QDSS's
- * 02 oct 85 longo added color map loading services in qdioctl() & qdaint()
- * 30 sep 85 longo added DMA interrupt services
- * 18 sep 85 longo added scroll services to "qdaint()" adder intrpt service
- * and put in supporting ioctl's
- * 04 sep 85 longo initial implementation of DMA is working
- * 17 aug 85 longo added support for the QDSS to be system console
- * 05 aug 85 longo now using qfont (QVSS & QDSS) as linked object
- * 12 jun 85 longo added mouse event loading to "qdiint()"
- * 31 may 85 longo put live interrupts into the probe() routine
- * 30 may 85 longo event queue shared memory implementation is now alive
- * 29 may 85 longo LK-201 input is now interrupt driven
- * 25 apr 85 longo MAPDEVICE works
- * 14 mar 85 longo created
- *
- * todo: fix rlogin bug in console stuff
- * cat -u console redirection
- * check error return from strategy routine
- * verify TOY time stuff (what format?)
- * look at system based macro implementation of VTOP
- *