* Copyright (c) 1988 University of Utah.
* Copyright (c) 1990 The Regents of the University of California.
* This code is derived from software contributed to Berkeley by
* the Systems Programming Group of the University of Utah Computer
* %sccs.include.redist.c%
* @(#)dca.c 7.1 (Berkeley) %G%
#include "../sys/param.h"
#include "../hpdev/dcareg.h"
#include "machine/cons.h"
#define CONSOLE ((struct dcadevice *)(EXTIOBASE + (9 * IOCARDSIZE)))
register struct dcadevice
*dca
= CONSOLE
;
if (badaddr((char *)CONSOLE
)) {
register struct dcadevice
*dca
= CONSOLE
;
dca
->dca_cfcr
= CFCR_DLAB
;
dca
->dca_data
= DCABRD(9600) & 0xFF;
dca
->dca_ier
= DCABRD(9600) >> 8;
dca
->dca_cfcr
= CFCR_8BITS
;
register struct dcadevice
*dca
= CONSOLE
;
if (((stat
= dca
->dca_lsr
) & LSR_RXRDY
) == 0)
register struct dcadevice
*dca
= CONSOLE
;
/* wait a reasonable time for the transmitter to come ready */
while (((stat
= dca
->dca_lsr
) & LSR_TXRDY
) == 0 && --timo
)
/* wait for this transmission to complete */
while (((stat
= dca
->dca_lsr
) & LSR_TXRDY
) == 0 && --timo
)