sinp
while (!(sinp(UART_LSR) & UART_LSR_THRE))
while (!(sinp(UART_LSR) & UART_LSR_TEMT))
if ((sinp(UART_IIR) & UART_IIR_NO_INT)) {
status = sinp(UART_MSR);
} while (!(sinp(UART_IIR) & UART_IIR_NO_INT)); /* still pending ? */
scratch = sinp(UART_IER);
scratch2 = sinp(UART_IER) & 0x0f;
scratch3 = sinp(UART_IER) & 0x0f;
soutp(UART_LCR, sinp(UART_LCR) & (~UART_LCR_DLAB));
soutp(UART_IER, sinp(UART_IER) &
sinp(UART_LSR);
sinp(UART_RX);
sinp(UART_IIR);
sinp(UART_MSR);
sinp(UART_LSR);
sinp(UART_RX);
sinp(UART_IIR);
sinp(UART_MSR);
soutp(UART_LCR, sinp(UART_LCR) | UART_LCR_DLAB);
if (sinp(UART_MSR) & hardware[type].signal_pin)
soutp(UART_LCR, sinp(UART_LCR) & (~UART_LCR_DLAB));
soutp(UART_IER, sinp(UART_IER) | UART_IER_MSI);
soutp(UART_LCR, sinp(UART_LCR) & (~UART_LCR_DLAB));
soutp(UART_IER, sinp(UART_IER) &
soutp(UART_LCR, sinp(UART_LCR) & (~UART_LCR_DLAB));
soutp(UART_IER, sinp(UART_IER) &
sinp(UART_LSR);
sinp(UART_RX);
sinp(UART_IIR);
sinp(UART_MSR);
soutp(UART_IER, sinp(UART_IER) | UART_IER_MSI);