Rev |
Log message |
Author |
Age |
Path |
1153 |
When multiple interrupts were pending, e.g. TX buffer empty and RX
available, reading the UART's IIR register could potentially clear a
TX interrupt before it had been sent to the processor, thus dropping
the interrupt permanently.
Fix tested w/ both eCos and uclinux. |
sfurman |
7829d 19h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
1145 |
1) Fix trivial bug w/ transmitter empty interrupts that I introduced in the
last check-in.
2) Improve printed output from debugging-only uart_status() routine. |
sfurman |
7830d 13h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
1143 |
Make UART transmitter-empty interrupts match both 16450 and 16550 behavior. |
sfurman |
7833d 09h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
1116 |
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. |
sfurman |
7873d 17h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
1073 |
channels support |
rprescott |
7998d 21h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
997 |
PRINTF should be used instead of printf; command redirection repaired |
markom |
8062d 07h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
970 |
Testbench is now running on ORP architecture platform. |
simons |
8069d 18h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
884 |
code cleaning - a lot of global variables moved to runtime struct |
markom |
8106d 05h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
821 |
ugly bug with duplicate redefined i removed |
markom |
8192d 02h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
806 |
uart now partially uses scheduler |
markom |
8197d 08h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
805 |
kbd, fb, vga devices now uses scheduler |
markom |
8197d 09h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
713 |
lot of small minor improvements: code documented, cleaned; runs at about same speed when not actually logging, but exe_log is enabled; raw_stats now run only with simple execution - enable RAW_USAGE_STATS macro |
markom |
8234d 06h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
549 |
enabled parameters removed from devices, which also have number of devices; command line --output-cfg parameter added |
markom |
8288d 02h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
530 |
THRI interrupt fixed. |
simons |
8290d 20h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
529 |
Bug in receiver fixed. |
simons |
8290d 22h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
492 |
uart THRE interrupt immedialty after write to IER |
markom |
8307d 05h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
490 |
clkcycle parsing problem fixed |
markom |
8308d 01h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
424 |
memory configuration file joined into .cfg file; *mem.cfg are obsolete; read-only and write-only memory is supported; memory logging is not yet supported; update of testbench - only cache test fails, since it writes to RO memory |
markom |
8317d 05h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
423 |
changed break behaviour and interrupt pending; interrupt line chabnged to 15; sync bug in mode switch |
markom |
8318d 01h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |
411 |
acv uart testsuite now works (without modem test) |
markom |
8321d 06h |
/or1k/tags/nog_patch_65/or1ksim/peripheral/16450.c |