[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cvs-checkins] or1k/or1ksim/peripheral 16450.c
CVSROOT: /home/oc/cvs
Module name: or1k
Changes by: oc 03/02/27 21:24:50
Modified files:
or1ksim/peripheral: 16450.c
Log message:
There was a bug in the simulator's UART implementation that caused the
UART's LSR register to become corrupted. This was due to an
assumption that 'char' is an unsigned type, but that is not true on
all platforms.
When the char type is signed and a character is read in the range
0x80-0xff, the high bit is sign-extended into the upper bits of an
entry in the receive FIFO. When the character reaches the head of the
FIFO, the upper bits of the FIFO entry are OR'ed into the LSR, causing
the LSR to be set to 0xFF.
A simple cast fixes the problem.
--
To unsubscribe from cvs-checkins mailing list please visit http://www.opencores.org/mailinglists.shtml