Annotation of xinu/sys/dlcinit.c, revision 1.1.1.1

1.1       root        1: /* dlcinit.c - dlcinit */
                      2: 
                      3: #include <conf.h>
                      4: #include <kernel.h>
                      5: #include <slu11.h>
                      6: #include <proc.h>
                      7: #include <sleep.h>
                      8: #include <dlc.h>
                      9: 
                     10: struct dlblk   dlc[Ndlc];
                     11: 
                     12: /*------------------------------------------------------------------------
                     13:  *  dlcinit  --  initialize dlc control block and device
                     14:  *------------------------------------------------------------------------
                     15:  */
                     16: dlcinit(devptr)
                     17: struct devsw   *devptr;
                     18: {
                     19:        struct  dlblk   *dptr;
                     20:        struct  csr     *cptr;
                     21:        char    ps;
                     22:        int     junk;
                     23: 
                     24:        return;                 /* to make MECB version work******** */
                     25: 
                     26:        disable(ps);
                     27:        dptr = &dlc[devptr->dvminor];
                     28:        devptr->dvioblk = dptr;
                     29:        iosetvec(devptr->dvnum, dptr, dptr);
                     30:        dptr->dioaddr = devptr->dvcsr;
                     31:        dptr->dostall = 0;
                     32:        dptr->distate = DLIINIT;
                     33:        dptr->dostate = DLOINIT;
                     34:        dptr->donext = dptr->dinext = NULL;
                     35:        dptr->doesc = dptr->diesc = 0;
                     36:        dptr->dpid = 0;
                     37:        dptr->dovalid = FALSE;
                     38:        dptr->diproc = dptr->doproc = -1;
                     39:        dptr->dotot = dptr->docount = 0;
                     40:        dptr->dimax = dptr->dicount = 0;
                     41:        cptr = dptr->dioaddr;           /* get device CSR address       */
                     42:        junk = cptr->crbuf;             /* clear device receiver and    */
                     43:        cptr->crstat = SLUENABLE;       /*   enable read interrupts     */
                     44:        cptr->ctstat = SLUDISABLE;      /* disable write interrupts     */
                     45: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.