projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for microvax 3000.
[unix-history]
/
usr
/
src
/
sys
/
vax
/
uba
/
dn.c
diff --git
a/usr/src/sys/vax/uba/dn.c
b/usr/src/sys/vax/uba/dn.c
index
21e1fa4
..
268bc59
100644
(file)
--- a/
usr/src/sys/vax/uba/dn.c
+++ b/
usr/src/sys/vax/uba/dn.c
@@
-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
o
buf[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 =
o
buf;
+ 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) {