summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/peripherals/1381846
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/gemma3:12b/peripherals/1381846')
-rw-r--r--results/classifier/gemma3:12b/peripherals/13818469
1 files changed, 9 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/peripherals/1381846 b/results/classifier/gemma3:12b/peripherals/1381846
new file mode 100644
index 000000000..ff57996b8
--- /dev/null
+++ b/results/classifier/gemma3:12b/peripherals/1381846
@@ -0,0 +1,9 @@
+
+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