Annotation of xinu/h/sluaccess7201.h, revision 1.1

1.1     ! root        1: /* sluaccess7201.h */
        !             2: /* assumes inclusion of slu7201.h */
        !             3: /* The specific chip is the NEC7201A dual UART */
        !             4: 
        !             5: /* get/set_control_reg7201 and slu_init7201 are in the SA and Xinu libraries.
        !             6:    get/set_control_reg7201 provide an effectively-readable UART control
        !             7:    register set even though the hardware SLU, a NEC 7201A,
        !             8:    has 5 write-only control regs.  They simply maintain a copy of the bits
        !             9:    put into the control reg in a private memory location and supply them
        !            10:    via get_control_reg.  Naturally, this system only works if all accesses
        !            11:    to the hardware control reg. go through this package. */
        !            12: 
        !            13: #define sluinitcsr(ioaddr)    slu_init7201(ioaddr)
        !            14: #define slutransready(ioaddr)      ((ioaddr->cstat)&SLUTRANSREADY)
        !            15: #define slurecvready(ioaddr)       ((ioaddr->cstat)&SLURECVREADY)
        !            16: #define slugetch(ioaddr)       (((ioaddr)->cbuf)&SLUCHMASK)
        !            17: #define sluputch(ioaddr, ch)   ((ioaddr)->cbuf = (ch))
        !            18: #define slurenable(ioaddr)   set_control_reg7201(ioaddr,get_control_reg7201(ioaddr,1)|SLURECVIE,1)
        !            19: #define slurdisable(ioaddr)  set_control_reg7201(ioaddr,get_control_reg7201(ioaddr,1)&~SLURECVIE,1)
        !            20: /* reenable trans ints if nec, start output with null-- */
        !            21: #define slutenable(ioaddr) slu_tstart7201(ioaddr)
        !            22: #define slutdisable(ioaddr)  set_control_reg7201(ioaddr,get_control_reg7201(ioaddr,1)&(~SLUTRANSIE),1)
        !            23: /* unimplemented-- */
        !            24: #define slusetbrk(ioaddr)
        !            25: #define slurstbrk(ioaddr)
        !            26: #define slugetintstate(ioaddr) get_control_reg7201(ioaddr,1)&SLUINTBITS
        !            27: #define slusetintstate(ioaddr,oldstate) set_control_reg7201(ioaddr,oldstate| \
        !            28:    (get_control_reg7201(ioaddr,1)&~SLUINTBITS),1)
        !            29: 

unix.superglobalmegacorp.com

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