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
sun merge
[unix-history]
/
usr
/
src
/
sys
/
vax
/
uba
/
rk.c
diff --git
a/usr/src/sys/vax/uba/rk.c
b/usr/src/sys/vax/uba/rk.c
index
bd8e9e0
..
7f17005
100644
(file)
--- a/
usr/src/sys/vax/uba/rk.c
+++ b/
usr/src/sys/vax/uba/rk.c
@@
-1,4
+1,4
@@
-/* rk.c 4.
47 82/10/10
*/
+/* rk.c 4.
51 82/12/17
*/
#include "rk.h"
#if NHK > 0
#include "rk.h"
#if NHK > 0
@@
-18,13
+18,14
@@
int rkbdebug;
* TODO:
* Learn why we lose an interrupt sometime when spinning drives down
*/
* TODO:
* Learn why we lose an interrupt sometime when spinning drives down
*/
+#include "../machine/pte.h"
+
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/buf.h"
#include "../h/conf.h"
#include "../h/dir.h"
#include "../h/user.h"
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/buf.h"
#include "../h/conf.h"
#include "../h/dir.h"
#include "../h/user.h"
-#include "../h/pte.h"
#include "../h/map.h"
#include "../h/vm.h"
#include "../h/dk.h"
#include "../h/map.h"
#include "../h/vm.h"
#include "../h/dk.h"
@@
-166,6
+167,17
@@
rkattach(ui)
ui->ui_flags = 0;
}
ui->ui_flags = 0;
}
+rkopen(dev)
+ dev_t dev;
+{
+ register int unit = minor(dev) >> 3;
+ register struct uba_device *ui;
+
+ if (unit >= NRK || (ui = rkdinfo[unit]) == 0 || ui->ui_alive == 0)
+ return (ENXIO);
+ return (0);
+}
+
rkstrategy(bp)
register struct buf *bp;
{
rkstrategy(bp)
register struct buf *bp;
{
@@
-372,7
+384,6
@@
rkintr(rk11)
int unit;
struct rk_softc *sc = &rk_softc[um->um_ctlr];
int as = (rkaddr->rkatt >> 8) | sc->sc_softas;
int unit;
struct rk_softc *sc = &rk_softc[um->um_ctlr];
int as = (rkaddr->rkatt >> 8) | sc->sc_softas;
- int needie = 1;
sc->sc_wticks = 0;
sc->sc_softas = 0;
sc->sc_wticks = 0;
sc->sc_softas = 0;
@@
-500,7
+511,7
@@
retry:
}
if (um->um_tab.b_actf && um->um_tab.b_active == 0)
rkstart(um);
}
if (um->um_tab.b_actf && um->um_tab.b_active == 0)
rkstart(um);
- if (((
needie =
rkaddr->rkcs1) & RK_IE) == 0)
+ if (((rkaddr->rkcs1) & RK_IE) == 0)
rkaddr->rkcs1 = RK_IE;
}
rkaddr->rkcs1 = RK_IE;
}
@@
-666,7
+677,7
@@
rkreset(uban)
rk_softc[um->um_ctlr].sc_wticks = 0;
if (um->um_ubinfo) {
printf("<%d>", (um->um_ubinfo>>28)&0xf);
rk_softc[um->um_ctlr].sc_wticks = 0;
if (um->um_ubinfo) {
printf("<%d>", (um->um_ubinfo>>28)&0xf);
- u
badone(um)
;
+ u
m->um_ubinfo = 0
;
}
for (unit = 0; unit < NRK; unit++) {
if ((ui = rkdinfo[unit]) == 0)
}
for (unit = 0; unit < NRK; unit++) {
if ((ui = rkdinfo[unit]) == 0)