summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1381846
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/launchpad-without-comments/1381846')
-rw-r--r--results/scraper/launchpad-without-comments/13818468
1 files changed, 8 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1381846 b/results/scraper/launchpad-without-comments/1381846
new file mode 100644
index 000000000..73522da56
--- /dev/null
+++ b/results/scraper/launchpad-without-comments/1381846
@@ -0,0 +1,8 @@
+Data sent to parallel port in guest is lost if host buffer fills up
+
+It appears that qemu will blindly write characters out to the chardev and drop them on the floor if a write fails with EAGAIN, without initiating flow control (via BUSY and ACK) back to the guest. If the host buffer is too small, or is talking to a hardware device that is too slow, data will be lost.
+
+I notice this problem when I run a DOS program with this on the qemu command line:
+-parallel /dev/usb/lp0
+
+I can work around this problem by buffering via a pipe, but this looks like a general problem. Is there a way to wire up the readiness of the output chardev to the parallel port ACK and BUSY lines, and signal an ISA interrupt? I don't know the code well enough to tell.
\ No newline at end of file