Annotation of cci/d/ioex/xylog.h, revision 1.1.1.1

1.1       root        1: 
                      2: #define        NBPG            1024
                      3: #define        PGSHIFT         10              /* LOG2(NBPG) */
                      4: 
                      5: /*
                      6:  * Provide about n microseconds of delay
                      7: */
                      8: #define        DELAY(n)        { register int N = (n); while (--N > 0); }
                      9: 
                     10: #define IOBASE         0xff000000
                     11: #define        XADDR           0xffee40        /* I/O addr of Xylogics controller */
                     12: #define        XBASE           0xffec00        /* I/O page of Xylogics controller */
                     13: #define        XOFFS           0x000240        /* Offset of Xylogics ctlr */
                     14: #define        XYVEC           0xc0
                     15: 
                     16: /*     Bits used for CSR register */
                     17: #define        GBSY            0x80            /* Go/busy bit */
                     18: #define ERR            0x40            /* General error bit */
                     19: #define DERR           0x20            /* double error */
                     20: #define IPND           0x10            /* Interrupt pending bit */
                     21: #define ADRM           0x8     /* Addressing mode : 1-24_bit, 0-20_bit */
                     22:                                /* Selected by jumper (Sec.3.2.2) */
                     23: #define AREQ           0x4             /* Attention request */
                     24: #define        AACK            0x2             /* Attention ackownledge */
                     25: #define DRDY           0x1             /* Drive ready */
                     26: 
                     27: /*     Bits used for status byte in IOPB */
                     28: #define XS_ERR         0x80
                     29: #define XS_DONE                0x1
                     30: #define XS_ECODE       0xff
                     31: 
                     32: 
                     33: #define        MAXXYDRIVES     4
                     34: #define        EAGLE           0
                     35: 
                     36: struct DTYPE {
                     37:        long type;
                     38: };
                     39: 
                     40: 
                     41: struct TYPEPAR {
                     42:        long noheads;
                     43:        long nosecs;
                     44:        long nocyls;
                     45:        char name[8];
                     46: };
                     47: 
                     48: 
                     49: struct Xreg {
                     50:        char relow;     /* IOPB relocation reg. low byte */
                     51:        char rehig;     /* IOPB relocation reg. high byte */
                     52:        char adlow;     /* IOPB address reg. low byte */
                     53:        char adhig;     /* IOPB address reg. high byte */
                     54:        char csr;       /* Controller status register */
                     55:        char crr;       /* Controller reset/update register */
                     56: };
                     57: 
                     58: struct IOPB {
                     59:        char comm;      /* Opcode */
                     60:        char imode;     /* Interrupt mode */
                     61:        char stat1;     /* status 1 */
                     62:        char stat2;     /* status 2 */
                     63:        char throt;     /* throttle word */
                     64:        char devno;     /* Drive type, unit select */
                     65:        char headr;     /* head address */
                     66:        char secadr;    /* sector address */
                     67:        char calow;     /* Cylinder address low */
                     68:        char cahig;     /* Cylinder address high */
                     69:        char sclow;     /* Sector count low */
                     70:        char schig;     /* Sector count high */
                     71:        char dalow;     /* Data address low */
                     72:        char dahig;     /* Data address high */
                     73:        char drlow;     /* Data relocation low */
                     74:        char drhig;     /* Data relocation high */
                     75:        char hoffs;     /* Head offset */
                     76:        char unused;
                     77:        char niolow;    /* Next IOPB address low */
                     78:        char niohig;    /* Next IOPB address high */
                     79:        char ecclow;    /* ECC mask pattern low */
                     80:        char ecchig;    /* ECC mask pattern high */
                     81:        char ebalow;    /* ECC bit address low */
                     82:        char ebahig;    /* ECC bit address high */
                     83: };
                     84: 
                     85: /*     Used in COMM byte of IOPB       */
                     86: #define        IEN             0x10
                     87: #define AUD            0x80
                     88: 
                     89: /*     Used in IMODE byte of IOPB      */
                     90: #define        IEI             0x40
                     91: 
                     92: /*     Opcodes         */
                     93: #define XFORMAT                7
                     94: #define        SETDRIVE        0xb
                     95: #define XYREAD         2
                     96: #define XYWRITE                1

unix.superglobalmegacorp.com

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