Annotation of researchv10dc/lsys/sys/uda.h, revision 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.