BSD 4_3_Net_2 release
[unix-history] / usr / src / sys / hp300 / dev / ite_tc.c
index 7d5039a..83c8b3a 100644 (file)
@@ -7,30 +7,54 @@
  * the Systems Programming Group of the University of Utah Computer
  * Science Department.
  *
  * the Systems Programming Group of the University of Utah Computer
  * Science Department.
  *
- * %sccs.include.redist.c%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
  *
  *
- * from: Utah $Hdr: ite_tc.c 1.22 89/04/11$
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  *
  *
- *     @(#)ite_tc.c    7.2 (Berkeley) %G%
+ * from: Utah $Hdr: ite_tc.c 1.25 91/03/25$
+ *
+ *     @(#)ite_tc.c    7.4 (Berkeley) 5/7/91
  */
 
 #include "ite.h"
 #if NITE > 0
 
  */
 
 #include "ite.h"
 #if NITE > 0
 
-#include "sys/param.h"
-#include "sys/conf.h"
-#include "sys/user.h"
-#include "sys/proc.h"
-#include "sys/ioctl.h"
-#include "sys/tty.h"
-#include "sys/systm.h"
-#include "sys/uio.h"
+#include "param.h"
+#include "conf.h"
+#include "proc.h"
+#include "ioctl.h"
+#include "tty.h"
+#include "systm.h"
 
 #include "grf_tcreg.h"
 #include "itereg.h"
 #include "itevar.h"
 
 
 #include "grf_tcreg.h"
 #include "itereg.h"
 #include "itevar.h"
 
-#include "../include/cpu.h"
+#include "machine/cpu.h"
 
 #define REGBASE                ((struct tcboxfb *)(ip->regbase))
 #define WINDOWMOVER    topcat_windowmove
 
 #define REGBASE                ((struct tcboxfb *)(ip->regbase))
 #define WINDOWMOVER    topcat_windowmove
@@ -44,9 +68,24 @@ topcat_init(ip)
 {
        /* XXX */
        if (ip->regbase == NULL) {
 {
        /* XXX */
        if (ip->regbase == NULL) {
-               struct grfinfo *gi = &grf_softc[ip - ite_softc].g_display;
-               ip->regbase = IOV(gi->gd_regaddr);
-               ip->fbbase = IOV(gi->gd_fbaddr);
+               struct grf_softc *gp = &grf_softc[ip - ite_softc];
+               ip->regbase = gp->g_regkva;
+               ip->fbbase = gp->g_fbkva;
+       }
+
+       /*
+        * Catseye looks a lot like a topcat, but not completely.
+        * So, we set some bits to make it work.
+        */
+       if (REGBASE->fbid != GID_TOPCAT) {
+               while ((REGBASE->catseye_status & 1))
+                       ;
+               REGBASE->catseye_status = 0x0;
+               REGBASE->vb_select      = 0x0;
+               REGBASE->tcntrl         = 0x0;
+               REGBASE->acntrl         = 0x0;
+               REGBASE->pncntrl        = 0x0;
+               REGBASE->rug_cmdstat    = 0x90;
        }
 
        /*
        }
 
        /*