From 89b8a44c39dff7025513774770eb2d17f246bb7a Mon Sep 17 00:00:00 2001 From: Bill Joy Date: Wed, 18 Nov 1981 23:52:15 -0800 Subject: [PATCH] lint SCCS-vsn: sys/vax/vax/conf.c 4.43 SCCS-vsn: sys/vax/uba/ct.c 4.7 SCCS-vsn: sys/vax/uba/dh.c 4.40 SCCS-vsn: sys/vax/uba/dn.c 4.2 SCCS-vsn: sys/vax/uba/dz.c 4.31 SCCS-vsn: sys/vax/mba/hp.c 4.42 SCCS-vsn: sys/vax/uba/lp.c 4.21 SCCS-vsn: sys/kern/tty_pty.c 4.10 SCCS-vsn: sys/vax/uba/rk.c 4.37 SCCS-vsn: sys/vax/uba/tm.c 4.44 SCCS-vsn: sys/vax/uba/ts.c 4.20 SCCS-vsn: sys/kern/tty.c 4.14 SCCS-vsn: sys/vax/vax/tu.c 4.2 SCCS-vsn: sys/vax/uba/uba.c 4.37 SCCS-vsn: sys/vax/uba/up.c 4.40 SCCS-vsn: sys/vax/uba/ut.c 4.9 SCCS-vsn: sys/vax/uba/va.c 4.11 SCCS-vsn: sys/vax/uba/vp.c 4.10 --- usr/src/sys/kern/tty.c | 4 +- usr/src/sys/kern/tty_pty.c | 5 +- usr/src/sys/vax/mba/hp.c | 2 +- usr/src/sys/vax/uba/ct.c | 9 ++-- usr/src/sys/vax/uba/dh.c | 4 +- usr/src/sys/vax/uba/dn.c | 22 +++++--- usr/src/sys/vax/uba/dz.c | 5 +- usr/src/sys/vax/uba/lp.c | 3 +- usr/src/sys/vax/uba/rk.c | 3 +- usr/src/sys/vax/uba/tm.c | 3 +- usr/src/sys/vax/uba/ts.c | 13 ++--- usr/src/sys/vax/uba/uba.c | 2 +- usr/src/sys/vax/uba/up.c | 3 +- usr/src/sys/vax/uba/ut.c | 10 ++-- usr/src/sys/vax/uba/va.c | 6 ++- usr/src/sys/vax/uba/vp.c | 6 ++- usr/src/sys/vax/vax/conf.c | 5 +- usr/src/sys/vax/vax/tu.c | 107 ++++++++++++++++++++----------------- 18 files changed, 120 insertions(+), 92 deletions(-) diff --git a/usr/src/sys/kern/tty.c b/usr/src/sys/kern/tty.c index 0dff49404a..fd286d6c7c 100644 --- a/usr/src/sys/kern/tty.c +++ b/usr/src/sys/kern/tty.c @@ -1,4 +1,4 @@ -/* tty.c 4.13 81/10/11 */ +/* tty.c 4.14 81/11/18 */ /* * TTY subroutines common to more than one line discipline @@ -481,7 +481,7 @@ ttselect(dev, flag) nread = ttnread(tp); if (nread > 0) return (1); - if (tp->t_rsel && tp->t_rsel->p_wchan == (caddr_t)select) + if (tp->t_rsel && tp->t_rsel->p_wchan == (caddr_t)&selwait) tp->t_state |= RCOLL; else tp->t_rsel = u.u_procp; diff --git a/usr/src/sys/kern/tty_pty.c b/usr/src/sys/kern/tty_pty.c index 4307668093..64b0ede65c 100644 --- a/usr/src/sys/kern/tty_pty.c +++ b/usr/src/sys/kern/tty_pty.c @@ -1,4 +1,4 @@ -/* tty_pty.c 4.9 81/10/11 */ +/* tty_pty.c 4.10 81/11/18 */ /* * Pseudo-teletype Driver @@ -174,7 +174,7 @@ ptcselect(dev) if (tp->t_outq.c_cc) return (1); pti = &pt_ioctl[minor(dev)]; - if ((p = pti->pti_selr) && p->p_wchan == (caddr_t)select) + if ((p = pti->pti_selr) && p->p_wchan == (caddr_t)&selwait) pti->pti_flags |= PTCRCOLL; else pti->pti_selr = u.u_procp; @@ -217,7 +217,6 @@ ptyioctl(dev, cmd, addr, flag) dev_t dev; { register struct tty *tp; - register int tbd; tp = &pt_tty[minor(dev)]; /* IF CONTROLLER STTY THEN MUST FLUSH TO PREVENT A HANG ??? */ diff --git a/usr/src/sys/vax/mba/hp.c b/usr/src/sys/vax/mba/hp.c index dcef28895d..34fc1c455e 100644 --- a/usr/src/sys/vax/mba/hp.c +++ b/usr/src/sys/vax/mba/hp.c @@ -1,4 +1,4 @@ -/* hp.c 4.41 81/07/09 */ +/* hp.c 4.42 81/11/18 */ #ifdef HPDEBUG int hpdebug; diff --git a/usr/src/sys/vax/uba/ct.c b/usr/src/sys/vax/uba/ct.c index ecd0f3b57e..7ef493f1aa 100644 --- a/usr/src/sys/vax/uba/ct.c +++ b/usr/src/sys/vax/uba/ct.c @@ -1,4 +1,4 @@ -/* ct.c 4.6 81/07/05 */ +/* ct.c 4.7 81/11/18 */ #include "ct.h" #if NCT > 0 @@ -49,6 +49,10 @@ ctprobe(reg) register int br, cvec; /* value-result */ register struct ctdevice *ctaddr = (struct ctdevice *)reg; +#ifdef lint + br = 0; cvec = br; br = cvec; + ctintr(0); +#endif ctaddr->ctcsr = IENABLE; DELAY(10000); ctaddr->ctcsr = 0; @@ -112,9 +116,6 @@ ctintr(dev) if (ctaddr->ctcsr&DONE) { if ((c = getc(&sc->sc_oq)) >= 0) { -#if MH135A - c |= (c & 01) << 8; /* for dr11c bug */ -#endif ctaddr->ctbuf = c; if (sc->sc_oq.c_cc==0 || sc->sc_oq.c_cc==CATLOWAT) wakeup(&sc->sc_oq); diff --git a/usr/src/sys/vax/uba/dh.c b/usr/src/sys/vax/uba/dh.c index b26f955414..a1a7b23db1 100644 --- a/usr/src/sys/vax/uba/dh.c +++ b/usr/src/sys/vax/uba/dh.c @@ -1,4 +1,4 @@ -/* dh.c 4.39 81/11/08 */ +/* dh.c 4.40 81/11/18 */ #include "dh.h" #if NDH > 0 @@ -148,6 +148,7 @@ dhprobe(reg) #ifdef lint br = 0; cvec = br; br = cvec; + dhrint(0); dhxint(0); #endif #ifndef notdef dhaddr->un.dhcsr = DH_RIE|DH_MM|DH_RI; @@ -189,6 +190,7 @@ dmprobe(reg) #ifdef lint br = 0; vec = br; br = vec; + dmintr(); #endif dmaddr->dmcsr = DM_DONE|DM_IE; DELAY(20); diff --git a/usr/src/sys/vax/uba/dn.c b/usr/src/sys/vax/uba/dn.c index e5d6c1567d..124bfe1b17 100644 --- a/usr/src/sys/vax/uba/dn.c +++ b/usr/src/sys/vax/uba/dn.c @@ -1,4 +1,4 @@ -/* dn.c 4.1 81/11/04 */ +/* dn.c 4.2 81/11/18 */ #include "dn.h" #if NDN > 0 @@ -47,20 +47,25 @@ struct uba_driver dndriver = /* * There's no good way to determine the correct number of dialers attached - * to a single device (especially when dialers such as Vadic-821 MACS - * exist which can address four chassis, each with its own dialer), so - * we take the "flags" value supplied by config as the number of devices - * attached (see dnintr). + * to a single device (especially when dialers such as Vadic-821 MACS + * exist which can address four chassis, each with its own dialer), so + * we take the "flags" value supplied by config as the number of devices + * attached (see dnintr). */ dnprobe(reg) caddr_t reg; { - register int br, cvec; /* value-result, must be r11, r10 */ + register int br, cvec; /* value-result */ register struct dndevice *dnaddr = (struct dndevice *)reg; +#ifdef lint + br = 0; cvec = br; br = cvec; + dnintr(0); +#endif + /* * 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); @@ -70,6 +75,7 @@ dnprobe(reg) dnattach(ui) struct uba_device *ui; { + if (ui->ui_flags == 0) /* no flags =>'s don't care */ ui->ui_flags = 4; else if (ui->ui_flags > 4 || ui->ui_flags < 0) { @@ -179,7 +185,7 @@ dnwrite(dev) /* * NOTE that the flags from the config file define the number - * of dialers attached to this controller. + * of dialers attached to this controller. */ dnintr(dev) dev_t dev; diff --git a/usr/src/sys/vax/uba/dz.c b/usr/src/sys/vax/uba/dz.c index c858756af2..031ea7595d 100644 --- a/usr/src/sys/vax/uba/dz.c +++ b/usr/src/sys/vax/uba/dz.c @@ -1,9 +1,9 @@ -/* dz.c 4.30 81/11/08 */ +/* dz.c 4.31 81/11/18 */ #include "dz.h" #if NDZ > 0 /* - * DZ-11 Driver + * DZ-11 Driver * * This driver mimics dh.c; see it for explanation of common code. */ @@ -106,6 +106,7 @@ dzprobe(reg) #ifdef lint br = 0; cvec = br; br = cvec; + dzrint(0); dzxint((struct tty *)0); #endif dzaddr->dzcsr = DZ_TIE|DZ_MSE; dzaddr->dztcr = 1; /* enable any line */ diff --git a/usr/src/sys/vax/uba/lp.c b/usr/src/sys/vax/uba/lp.c index c3a18c7c9d..3c6bb2cd0f 100644 --- a/usr/src/sys/vax/uba/lp.c +++ b/usr/src/sys/vax/uba/lp.c @@ -1,4 +1,4 @@ -/* lp.c 4.20 81/07/25 */ +/* lp.c 4.21 81/11/18 */ #include "lp.h" #if NLP > 0 @@ -83,6 +83,7 @@ lpprobe(reg) register struct lpdevice *lpaddr = (struct lpdevice *)reg; #ifdef lint br = 0; cvec = br; br = cvec; + lpintr(0); #endif lpaddr->lpsr = IENABLE; diff --git a/usr/src/sys/vax/uba/rk.c b/usr/src/sys/vax/uba/rk.c index 464813a030..6d99aab80c 100644 --- a/usr/src/sys/vax/uba/rk.c +++ b/usr/src/sys/vax/uba/rk.c @@ -1,4 +1,4 @@ -/* rk.c 4.36 81/07/25 */ +/* rk.c 4.37 81/11/18 */ #include "rk.h" #if NHK > 0 @@ -118,6 +118,7 @@ rkprobe(reg) #ifdef lint br = 0; cvec = br; br = cvec; + rkintr(0); #endif ((struct rkdevice *)reg)->rkcs1 = RK_CDT|RK_IE|RK_CRDY; DELAY(10); diff --git a/usr/src/sys/vax/uba/tm.c b/usr/src/sys/vax/uba/tm.c index fbe78730f8..0527c532a5 100644 --- a/usr/src/sys/vax/uba/tm.c +++ b/usr/src/sys/vax/uba/tm.c @@ -1,4 +1,4 @@ -/* tm.c 4.43 81/11/10 */ +/* tm.c 4.44 81/11/18 */ #include "te.h" #include "ts.h" @@ -135,6 +135,7 @@ tmprobe(reg) #ifdef lint br = 0; cvec = br; br = cvec; + tmintr(0); #endif ((struct device *)reg)->tmcs = TM_IE; /* diff --git a/usr/src/sys/vax/uba/ts.c b/usr/src/sys/vax/uba/ts.c index bbbf05f4a0..b6f26919d3 100644 --- a/usr/src/sys/vax/uba/ts.c +++ b/usr/src/sys/vax/uba/ts.c @@ -1,4 +1,4 @@ -/* ts.c 4.19 81/07/09 */ +/* ts.c 4.20 81/11/18 */ #include "ts.h" #include "te.h" @@ -126,19 +126,16 @@ tsprobe(reg) #ifdef lint br = 0; cvec = br; br = cvec; + tsintr(0); #endif - /****************/ - /* */ - /* K L U D G E */ - /* */ - /****************/ + /* + * Too hard to make it interrupt; don't try. + */ #if NTM > 0 if (havetm) return (0); #endif - /* IT'S TOO HARD TO MAKE THIS THING INTERRUPT - JUST TO FIND ITS VECTOR */ cvec = 0224; br = 0x15; return (1); diff --git a/usr/src/sys/vax/uba/uba.c b/usr/src/sys/vax/uba/uba.c index 62e16c471a..c7b74df0a4 100644 --- a/usr/src/sys/vax/uba/uba.c +++ b/usr/src/sys/vax/uba/uba.c @@ -1,4 +1,4 @@ -/* uba.c 4.36 81/11/07 */ +/* uba.c 4.37 81/11/18 */ #include "../h/param.h" #include "../h/systm.h" diff --git a/usr/src/sys/vax/uba/up.c b/usr/src/sys/vax/uba/up.c index b261356ae3..8f750b975c 100644 --- a/usr/src/sys/vax/uba/up.c +++ b/usr/src/sys/vax/uba/up.c @@ -1,4 +1,4 @@ -/* up.c 4.39 81/05/11 */ +/* up.c 4.40 81/11/18 */ #include "up.h" #if NSC > 0 @@ -126,6 +126,7 @@ upprobe(reg) #ifdef lint br = 0; cvec = br; br = cvec; + upintr(0); #endif ((struct updevice *)reg)->upcs1 = UP_IE|UP_RDY; DELAY(10); diff --git a/usr/src/sys/vax/uba/ut.c b/usr/src/sys/vax/uba/ut.c index 65965a7845..a2c7aa9b96 100644 --- a/usr/src/sys/vax/uba/ut.c +++ b/usr/src/sys/vax/uba/ut.c @@ -1,4 +1,4 @@ -/* ut.c 4.8 81/11/13 */ +/* ut.c 4.9 81/11/18 */ #include "tj.h" #if NUT > 0 @@ -75,18 +75,20 @@ struct tj_softc { #define SERASE 5 /* erase inter-record gap */ #define SERASED 6 /* erased inter-record gap */ +/*ARGSUSED*/ utprobe(reg) caddr_t reg; { register int br, cvec; #ifdef lint br=0; cvec=br; br=cvec; + utintr(0); #endif +#if 0 /* * It appears the controller won't interrupt unless the * slave is off-line...this is as bad as the TS-11. */ -#ifdef notdef ((struct utdevice *) reg)->utcs1 = UT_IE|UT_NOP|UT_GO; DELAY(10000); ((struct utdevice *) reg)->utcs1 = UT_CLEAR|UT_GO; @@ -823,10 +825,10 @@ utdump() return (ENXIO); ui = phys(tjdinfo[0], struct uba_device *); up = phys(ui->ui_hd, struct uba_hd *)->uh_physuba; - ubainit(); + ubainit(up); DELAY(1000000); - utwait(addr); addr = (struct utdevice *)ui->ui_physaddr; + utwait(addr); /* * Be sure to set the appropriate density here. We use * 6250, but maybe it should be done at 1600 to insure the diff --git a/usr/src/sys/vax/uba/va.c b/usr/src/sys/vax/uba/va.c index cbe9452fc8..e9d7c28027 100644 --- a/usr/src/sys/vax/uba/va.c +++ b/usr/src/sys/vax/uba/va.c @@ -1,4 +1,4 @@ -/* va.c 4.10 81/07/08 */ +/* va.c 4.11 81/11/18 */ #include "va.h" #if NVA > 0 @@ -82,6 +82,10 @@ vaprobe(reg) register int br, cvec; /* value-result */ register struct vadevice *vaaddr = (struct vadevice *)reg; +#ifdef lint + br = 0; cvec = br; br = cvec; + vaintr(0); +#endif vaaddr->vacsl = VA_IENABLE; vaaddr->vaba = 0; vaaddr->vacsh = VAPLOT; diff --git a/usr/src/sys/vax/uba/vp.c b/usr/src/sys/vax/uba/vp.c index 8cafa4921d..c437a220a3 100644 --- a/usr/src/sys/vax/uba/vp.c +++ b/usr/src/sys/vax/uba/vp.c @@ -1,4 +1,4 @@ -/* vp.c 4.9 81/04/02 */ +/* vp.c 4.10 81/11/18 */ #include "vp.h" #if NVP > 0 @@ -83,6 +83,10 @@ vpprobe(reg) register int br, cvec; /* value-result */ register struct vpdevice *vpaddr = (struct vpdevice *)(reg-010); +#ifdef lint + br = 0; cvec = br; br = cvec; + vpintr(0); +#endif vpaddr->prcsr = VP_IENABLE|VP_DTCINTR; vpaddr->pbaddr = 0; vpaddr->pbxaddr = 0; diff --git a/usr/src/sys/vax/vax/conf.c b/usr/src/sys/vax/vax/conf.c index 570944adc0..4fa828dd1f 100644 --- a/usr/src/sys/vax/vax/conf.c +++ b/usr/src/sys/vax/vax/conf.c @@ -1,4 +1,4 @@ -/* conf.c 4.42 81/11/11 */ +/* conf.c 4.43 81/11/18 */ #include "../h/param.h" #include "../h/systm.h" @@ -19,12 +19,11 @@ int nodev(); #include "hp.h" #if NHP > 0 -int hpstrategy(),hpread(),hpwrite(),hpintr(),hpdump(); +int hpstrategy(),hpread(),hpwrite(),hpdump(); #else #define hpstrategy nodev #define hpread nodev #define hpwrite nodev -#define hpintr nodev #define hpdump nodev #endif diff --git a/usr/src/sys/vax/vax/tu.c b/usr/src/sys/vax/vax/tu.c index 1ff05104e5..5ac2f385f7 100644 --- a/usr/src/sys/vax/vax/tu.c +++ b/usr/src/sys/vax/vax/tu.c @@ -1,4 +1,4 @@ -/* tu.c 81/11/04 4.1 */ +/* tu.c 81/11/18 4.2 */ #if defined(VAX750) || defined(VAX7ZZ) /* @@ -49,12 +49,11 @@ int tudebug; /* printd */ /* * Structure of a command packet */ - struct packet { u_char pk_flag; /* indicates packet type (cmd, data, etc.) */ u_char pk_mcount; /* length of packet (bytes) */ u_char pk_op; /* operation to perform (read, write, etc.) */ - u_char pk_mod; /* modifier for op or returned status */ + char pk_mod; /* modifier for op or returned status */ u_char pk_unit; /* unit number */ u_char pk_sw; /* switches */ u_short pk_seq; /* sequence number, always zero */ @@ -69,7 +68,6 @@ struct packet tudata; /* a command or data returned from TU58 */ /* * State information */ - struct tu { u_char *rbptr; /* pointer to buffer for read */ int rcnt; /* how much to read */ @@ -135,11 +133,14 @@ struct buf tutab; /* I/O queue header */ /* * Open the TU58 */ - +/*ARGSUSED*/ tuopen(dev, flag) { extern int tuwatch(); +#ifdef lint + turintr(); tuwintr(); +#endif if (minor(dev) >= NTU) { u.u_error = ENXIO; return; @@ -153,7 +154,7 @@ tuopen(dev, flag) tureset(); sleep((caddr_t)&tu, PZERO); tutab.b_active = NULL; - if (tu.state != IDLE) { /* couldn't initialize */ + if (tu.state != IDLE) { /* couldn't initialize */ u.u_error = ENXIO; tu.state = INIT1; tu.rcnt = tu.wcnt = 0; @@ -168,9 +169,9 @@ tuopen(dev, flag) /* * Close the TU58 */ - tuclose(dev) { + if (tutab.b_active == 0) { mtpr(CSRS, 0); tutimer = 0; @@ -185,9 +186,9 @@ tuclose(dev) /* * Reset the TU58 */ - tureset() { + tu.state = INIT1; tu.wbptr = tunull; tu.wcnt = sizeof tunull; @@ -206,10 +207,10 @@ tureset() /* * Strategy routine for block I/O */ - tustrategy(bp) -register struct buf *bp; + register struct buf *bp; { + if (bp->b_blkno >= NTUBLK) { /* block number out of range? */ bp->b_flags |= B_ERROR; iodone(bp); @@ -230,12 +231,10 @@ register struct buf *bp; /* * Start the transfer */ - tustart() { register struct buf *bp; - top: if ((bp = tutab.b_actf) == NULL) return; if (tu.state != IDLE) { @@ -248,8 +247,9 @@ tustart() tucmd.pk_unit = minor(bp->b_dev); tucmd.pk_count = tu.count = bp->b_bcount; tucmd.pk_block = bp->b_blkno; - tucmd.pk_chksum = tuchk(*((short *)&tucmd), &tucmd.pk_op, - tucmd.pk_mcount); + tucmd.pk_chksum = + tuchk(*((short *)&tucmd), (caddr_t)&tucmd.pk_op, + (int)tucmd.pk_mcount); tu.state = bp->b_flags&B_READ ? SENDR : SENDW; tu.addr = bp->b_un.b_addr; tu.count = bp->b_bcount; @@ -261,7 +261,6 @@ tustart() /* * TU58 receiver interrupt */ - turintr() { register struct buf *bp; @@ -273,18 +272,18 @@ turintr() ; mtpr(CSTD, TUF_CONT); /* ACK */ } - if (tu.rcnt) { /* still waiting for data? */ + if (tu.rcnt) { /* still waiting for data? */ *tu.rbptr++ = c; /* yup, put it there */ - if (--tu.rcnt) /* decrement count, any left? */ - return; /* get some more */ + if (--tu.rcnt) /* decrement count, any left? */ + return; /* get some more */ } /* * We got all the data we were expecting for now, * switch on the state of the transfer. */ - switch(tu.state) { + case INIT2: if (c == TUF_CONT) /* did we get the expected continue? */ tu.state = IDLE; @@ -302,9 +301,10 @@ turintr() } tu.flag = 0; tudata.pk_flag = TUF_DATA; - tudata.pk_mcount = min(128, tu.count); - tudata.pk_chksum = tuchk(*((short *)&tudata), tu.addr, - tudata.pk_mcount); + tudata.pk_mcount = MIN(128, tu.count); + tudata.pk_chksum = + tuchk(*((short *)&tudata), (caddr_t)tu.addr, + (int)tudata.pk_mcount); tu.state = SENDH; tu.wbptr = (u_char *)&tudata; tu.wcnt = 2; @@ -312,9 +312,9 @@ turintr() break; case GETH: /* got header, get data */ - if (tudata.pk_flag == TUF_DATA) /* is it a data message? */ - tu.rbptr = (u_char *)tu.addr; /* yes, put it in buffer */ - tu.rcnt = tudata.pk_mcount; /* amount to get */ + if (tudata.pk_flag == TUF_DATA) /* data message? */ + tu.rbptr = (u_char *)tu.addr; /* yes put in buffer */ + tu.rcnt = tudata.pk_mcount; /* amount to get */ tu.state = GETD; break; @@ -327,21 +327,24 @@ turintr() case GET: case GETC: /* got entire packet */ #ifdef notdef - if (tuchk(*((short *)&tudata), tudata.pk_flag == TUF_DATA ? tu.addr - : &tudata.pk_op, tudata.pk_mcount) != tudata.pk_chksum) + if (tudata.pk_chksum != + tuchk(*((short *)&tudata), + tudata.pk_flag == TUF_DATA ? tu.addr : &tudata.pk_op, + (int)tudata.pk_mcount)) tu.cerrs++; #endif - if (tudata.pk_flag == TUF_DATA) { /* was it a data packet? */ - tu.addr += tudata.pk_mcount; /* update buf addr */ - tu.count -= tudata.pk_mcount; /* and byte count */ + if (tudata.pk_flag == TUF_DATA) { + /* data packet, advance to next */ + tu.addr += tudata.pk_mcount; + tu.count -= tudata.pk_mcount; tu.state = GETH; tu.rbptr = (u_char *)&tudata; /* next packet */ tu.rcnt = 2; - } else /* was it an end packet? */ - if (tudata.pk_flag == TUF_CMD && tudata.pk_op == TUOP_END) { - tu.state = IDLE; /* all done reading */ + } else if (tudata.pk_flag==TUF_CMD && tudata.pk_op==TUOP_END) { + /* end packet, idle and reenable transmitter */ + tu.state = IDLE; tu.flag = 0; - mtpr(CSTS, IE); /* reenable transmitter */ + mtpr(CSTS, IE); printd("ON "); if ((bp = tutab.b_actf) == NULL) { printf("tu: no bp!\n"); @@ -363,7 +366,7 @@ turintr() tustart(); } else { printf("neither data nor end: %o %o\n", - tudata.pk_flag&0xff, tudata.pk_op&0xff); + tudata.pk_flag&0xff, tudata.pk_op&0xff); mtpr(CSRS, 0); /* flush the rest */ tu.state = INIT1; } @@ -373,10 +376,11 @@ turintr() case INIT1: break; - default: /* what are we doing here??? */ + default: if (c == TUF_INITF) { printf("TU protocol error, state %d\n", tu.state); - printf("%o %d %d\n", tucmd.pk_op, tucmd.pk_count, tucmd.pk_block); + printf("%o %d %d\n", + tucmd.pk_op, tucmd.pk_count, tucmd.pk_block); tutab.b_active = NULL; if (bp = tutab.b_actf) { bp->b_flags |= B_ERROR; @@ -395,15 +399,16 @@ turintr() /* * TU58 transmitter interrupt */ - tuxintr() { - top: - if (tu.wcnt) { /* still stuff to send out? */ + +top: + if (tu.wcnt) { + /* still stuff to send, send one byte */ while ((mfpr(CSTS) & READY) == 0) ; - mtpr(CSTD, *tu.wbptr++); /* yup, send another byte */ - tu.wcnt--; /* decrement count */ + mtpr(CSTD, *tu.wbptr++); + tu.wcnt--; return; } @@ -411,9 +416,9 @@ tuxintr() * Last message byte was sent out. * Switch on state of transfer. */ - printd("tuxintr: state %d\n", tu.state); switch(tu.state) { + case INIT1: /* two nulls sent, remove break, send inits */ mtpr(CSTS, IE); printd("ON2 "); @@ -423,7 +428,7 @@ tuxintr() goto top; case INIT2: /* inits sent, wait for continue */ - mfpr(CSRD); + (void) mfpr(CSRD); mtpr(CSRS, IE); tu.flag = 1; break; @@ -491,12 +496,13 @@ tuxintr() * it has to be fast and it is hard to * do add-carry in C. Sorry. */ - +/*ARGSUSED*/ tuchk(word0, wp, n) -register int word0; /* r11 */ -register char *wp; /* r10 */ -register int n; /* r9 */ + register int word0; /* known to be r11 */ + register caddr_t wp; /* known to be r10 */ + register int n; /* known to be r9 */ { + asm("loop:"); asm(" addw2 (r10)+,r11"); /* add a word to sum */ asm(" adwc $0,r11"); /* add in carry, end-around */ @@ -507,6 +513,9 @@ register int n; /* r9 */ asm(" adwc $0,r11"); /* and the carry */ asm("ok:"); asm(" movl r11,r0"); /* return sum */ +#ifdef lint + return (0); +#endif } tuwatch() @@ -526,7 +535,7 @@ tuwatch() tu.wbptr, tu.wcnt, tu.state, tu.flag, tu.addr, tu.count); tu.flag = 0; s = splx(TUIPL); - mfpr(CSRD); + (void) mfpr(CSRD); mtpr(CSRS, IE); /* in case we were flushing */ mtpr(CSTS, IE); tu.state = IDLE; -- 2.20.1