Add support for microvax 3000.
[unix-history] / usr / src / sys / vax / uba / dn.c
index 21e1fa4..268bc59 100644 (file)
@@ -1,30 +1,36 @@
-/*     dn.c    4.9     82/10/17        */
+/*
+ * Copyright (c) 1982, 1986 Regents of the University of California.
+ * All rights reserved.  The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ *
+ *     @(#)dn.c        7.1 (Berkeley) %G%
+ */
 
 #include "dn.h"
 #if NDN > 0
 /*
  * DN-11 ACU interface
  */
 
 #include "dn.h"
 #if NDN > 0
 /*
  * DN-11 ACU interface
  */
+#include "../machine/pte.h"
 
 
-#include "../h/param.h"
-#include "../h/systm.h"
-#include "../h/dir.h"
-#include "../h/user.h"
-#include "../h/buf.h"
-#include "../h/map.h"
-#include "../h/pte.h"
-#include "../h/conf.h"
-#include "../h/ioctl.h"
+#include "param.h"
+#include "systm.h"
+#include "dir.h"
+#include "user.h"
+#include "buf.h"
+#include "map.h"
+#include "conf.h"
+#include "uio.h"
 
 
-#include "../vaxuba/ubavar.h"
+#include "ubavar.h"
 
 struct dndevice {
        u_short dn_reg[4];
 };
 
 struct uba_device *dninfo[NDN];
 
 struct dndevice {
        u_short dn_reg[4];
 };
 
 struct uba_device *dninfo[NDN];
-int dnprobe(), dnattach();
-u_short dnstd[] = { 0175200 };
+int dnprobe(), dnattach(), dnintr();
+u_short dnstd[] = { 0175200, 0 };
 struct uba_driver dndriver =
        { dnprobe, 0, dnattach, 0, dnstd, "dn", dninfo };
 
 struct uba_driver dndriver =
        { dnprobe, 0, dnattach, 0, dnstd, "dn", dninfo };
 
@@ -57,9 +63,13 @@ dnprobe(reg)
        register int br, cvec;  /* value-result, must be r11, r10 */
        register struct dndevice *dnaddr = (struct dndevice *)reg;
 
        register int br, cvec;  /* value-result, must be r11, r10 */
        register struct dndevice *dnaddr = (struct dndevice *)reg;
 
+#ifdef lint
+       br = 0; cvec = 0; br = cvec; cvec = br;
+       dnintr(0);
+#endif
        /*
         * If there's at least one dialer out there it better be
        /*
         * If there's at least one dialer out there it better be
-        *  at chassis 0.
+        * at chassis 0.
         */
        dnaddr->dn_reg[0] = MENABLE|IENABLE|DONE;
        DELAY(5);
         */
        dnaddr->dn_reg[0] = MENABLE|IENABLE|DONE;
        DELAY(5);
@@ -67,6 +77,7 @@ dnprobe(reg)
        return (sizeof (struct dndevice));
 }
 
        return (sizeof (struct dndevice));
 }
 
+/*ARGSUSED*/
 dnattach(ui)
        struct uba_device *ui;
 {
 dnattach(ui)
        struct uba_device *ui;
 {
@@ -76,6 +87,7 @@ dnattach(ui)
 /*ARGSUSED*/
 dnopen(dev, flag)
        dev_t dev;
 /*ARGSUSED*/
 dnopen(dev, flag)
        dev_t dev;
+       int flag;
 {
        register struct dndevice *dp;
        register u_short unit, *dnreg;
 {
        register struct dndevice *dp;
        register u_short unit, *dnreg;
@@ -114,7 +126,7 @@ dnwrite(dev, uio)
        register u_short *dnreg;
        register int cc;
        register struct dndevice *dp;
        register u_short *dnreg;
        register int cc;
        register struct dndevice *dp;
-       char buf[OBUFSIZ];
+       char obuf[OBUFSIZ];
        register char *cp;
        extern lbolt;
        int error;
        register char *cp;
        extern lbolt;
        int error;
@@ -122,12 +134,12 @@ dnwrite(dev, uio)
        dp = (struct dndevice *)dninfo[DNUNIT(dev)]->ui_addr;
        dnreg = &(dp->dn_reg[DNREG(dev)]);
        cc = MIN(uio->uio_resid, OBUFSIZ);
        dp = (struct dndevice *)dninfo[DNUNIT(dev)]->ui_addr;
        dnreg = &(dp->dn_reg[DNREG(dev)]);
        cc = MIN(uio->uio_resid, OBUFSIZ);
-       cp = buf;
-       error = uiomove(cp, (unsigned)cc, UIO_WRITE, uio);
+       cp = obuf;
+       error = uiomove(cp, cc, UIO_WRITE, uio);
        if (error)
                return (error);
        while ((*dnreg & (PWI|ACR|DSS)) == 0 && cc >= 0) {
        if (error)
                return (error);
        while ((*dnreg & (PWI|ACR|DSS)) == 0 && cc >= 0) {
-               spl4();
+               (void) spl4();
                if ((*dnreg & PND) == 0 || cc == 0)
                        sleep((caddr_t)dnreg, DNPRI);
                else switch(*cp) {
                if ((*dnreg & PND) == 0 || cc == 0)
                        sleep((caddr_t)dnreg, DNPRI);
                else switch(*cp) {