Console input/output broken
alexfru opened this issue · 3 comments
You can't paste more than about 2 lines of text at once without losing any of it. Looks like some kind of buffering problem. The buffer should be able to accept and hold at least 1K of ASCII text, IMHO.
When doing output to the console with cat
or a program dump with aout
, some characters go missing and the output appears to be poorly formatted. Looks like it's white space characters only (spaces, perhaps also tabs). Not sure what can be wrong here.
Both problems are present when RetroBSD runs in the simulator and on a chip.
On Max32 board the console output works perfectly. No missing characters at all. This board uses UART as a console, so it seems that uart driver is fine.
I can see missing characters on Fubarino and Duinomite though. These boards have console redirected to USB port. Something is wrong with our usb_console driver.
There are some issues with the virtualmips simulator. The same Max32 kernel which works on a hardware, still has lost charachers when run on the simulator. It seems like transmit interrupts are generated incorrectly.
I managed to run RetroBSD on Imperas simulator. No issues at all. Console output is always correct (via UART). Need to fix virtualmips.
I can see these problems in virtualmips and on the MAXIMATE device.
Try compiling virtualmips without optimizations. If that doesn't help, you
can cross-check the code with some other MIPS [si|e]mulator. My
EmuMipsElf.c might help. It's rather straightforward.
On Wed, May 21, 2014 at 9:05 PM, Serge Vakulenko
notifications@github.comwrote:
On Max32 board the console output works perfectly. No missing characters
at all. This board uses UART as a console, so it seems that uart driver is
fine.I can see missing characters on Fubarino and Duinomite though. These
boards have console redirected to USB port. Something is wrong with our
usb_console driver.There are some issues with the virtualmips simulator. The same Max32
kernel which works on a hardware, still has lost charachers when run on the
simulator. It seems like transmit interrupts are generated incorrectly.I managed to run RetroBSD on Imperas simulator. No issues at all. Console
output is always correct (via UART). Need to fix virtualmips.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/29#issuecomment-43846654
.
These are two separate bugs: one in virtualmips related to UART transmit interrupts, and another in usb_console driver.