Annotation of researchv10dc/lsys/sys/uda.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * defs for the uda50 driver
                      3:  */
                      4: 
                      5: /*
                      6:  * per-controller structure
                      7:  */
                      8: 
                      9: #define        MAXCMD  32      /* no more than this many command packets */
                     10: 
                     11: struct ud {
                     12:        struct udcomm *ud_comm;         /* virt addr of comm area */
                     13:        uaddr_t ud_pcomm;               /* unibus addr of ring base */
                     14:        struct udcmd *ud_cpkt;          /* virt addr of command packets */
                     15:        uaddr_t ud_pcpkt;               /* unibus addr of command packets */
                     16:        short   ud_cnext;               /* index of next cmd descriptor */
                     17:        short   ud_rnext;               /* ditto response */
                     18:        ubm_t   ud_cmap[MAXCMD];        /* ub mapping info for transfers */
                     19:        char    ud_cbusy[MAXCMD];       /* busy flags for commands */
                     20:        char    ud_back[MAXCMD];        /* back-index from cmd ring to packets */
                     21:        struct udrsp *ud_rpkt;          /* virt addr of response packets */
                     22:        struct buf *ud_cbuf;            /* buffer for comm/cmds */
                     23:        ubm_t   ud_cbm;                 /* and its map info */
                     24:        struct buf *ud_rbuf;            /* buffer for responses */
                     25:        ubm_t   ud_rbm;                 /* and its map info */
                     26:        int     ud_bdpno;               /* bdp for transfers */
                     27:        short   ud_flags;               /* misc flag bits */
                     28:        short   ud_credits;             /* number of flow control credits */
                     29:        struct device *ud_addr;         /* device register address */
                     30: };
                     31: 
                     32: /*
                     33:  * ud_flags
                     34:  */
                     35: 
                     36: #define        UINIT   01              /* already did trivial init */
                     37: #define        UIDONE  02              /* initialization all done */
                     38: #define        UPWAIT  04              /* waiting for command packet */
                     39: #define        UFIRST  010             /* let first packet go even if no credits */
                     40: #define        UTIMER  020             /* timer will kick on next go */
                     41: #define        UCWAIT  040             /* waiting for credits */
                     42: #define        UISTART 0100            /* initialization started */
                     43: 
                     44: /*
                     45:  * ud_cbusy
                     46:  */
                     47: 
                     48: #define        FREE    0
                     49: #define        NABBED  01
                     50: #define        SENT    02
                     51: #define        MAPPED  04
                     52: 
                     53: #define        NOBACK  (-1)

unix.superglobalmegacorp.com

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