Scott, after "lock()" here, should I disable irq4 and rx, and enable tx?
lock();
/* ready to use 3f9,3f8 as divisor */
out_byte(tty->port+LCR, 0x80);
out_byte(tty->port+DIVH, 0x00);
/* divisor = 12 ===> 9600 bauds */
out_byte(tty->port+DIVL, 12);
/**** term 9600 /dev/ttyS0:
8 bits/char, no parity ****/
out_byte(tty->port+LCR, 0x03);
/* clear lingering interrupts
by reading status and data regs */
in_byte(tty->port+LSR);
in_byte(tty->port+MSR);
in_byte(tty->port+DATA);
/*write to MSR and IER*/
/* 1011 ==> IRQ4, RTS, DTR on */
out_byte(tty->port+MCR, 0x0B);
/* Enable Rx interrupt, Tx off */
out_byte(tty->port+IER, 0x01);
unlock();