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 |
7755d 20h |
/or1k/tags/nog_patch_47/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 |
7756d 13h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
1143 |
Make UART transmitter-empty interrupts match both 16450 and 16550 behavior. |
sfurman |
7759d 10h |
/or1k/tags/nog_patch_47/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 |
7799d 18h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
1073 |
channels support |
rprescott |
7924d 22h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
997 |
PRINTF should be used instead of printf; command redirection repaired |
markom |
7988d 07h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
970 |
Testbench is now running on ORP architecture platform. |
simons |
7995d 18h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
884 |
code cleaning - a lot of global variables moved to runtime struct |
markom |
8032d 05h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
821 |
ugly bug with duplicate redefined i removed |
markom |
8118d 02h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
806 |
uart now partially uses scheduler |
markom |
8123d 08h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
805 |
kbd, fb, vga devices now uses scheduler |
markom |
8123d 09h |
/or1k/tags/nog_patch_47/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 |
8160d 06h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
549 |
enabled parameters removed from devices, which also have number of devices; command line --output-cfg parameter added |
markom |
8214d 03h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
530 |
THRI interrupt fixed. |
simons |
8216d 20h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
529 |
Bug in receiver fixed. |
simons |
8216d 22h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
492 |
uart THRE interrupt immedialty after write to IER |
markom |
8233d 06h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
490 |
clkcycle parsing problem fixed |
markom |
8234d 01h |
/or1k/tags/nog_patch_47/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 |
8243d 05h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
423 |
changed break behaviour and interrupt pending; interrupt line chabnged to 15; sync bug in mode switch |
markom |
8244d 01h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |
411 |
acv uart testsuite now works (without modem test) |
markom |
8247d 06h |
/or1k/tags/nog_patch_47/or1ksim/peripheral/16450.c |