aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2001-02-04 07:48:18 +0000
committerEli Zaretskii <eliz@gnu.org>2001-02-04 07:48:18 +0000
commitcd42d3a86d898097e3ac63983d47b3f6f8f471c8 (patch)
tree1d805aaccdcdd4006420ad4a0f6550026971b79e
parenta17b5c4efc8e3ffaa6ad41c9a696b7f392a2d91d (diff)
downloadgdb-cd42d3a86d898097e3ac63983d47b3f6f8f471c8.zip
gdb-cd42d3a86d898097e3ac63983d47b3f6f8f471c8.tar.gz
gdb-cd42d3a86d898097e3ac63983d47b3f6f8f471c8.tar.bz2
* ser-go32.c (dos_write) [UART_FIFO_WORKS]: Use outportsb only if
UART_FIFO_WORKS is defined. Otherwise use outportb. From Francisco Pastor <fpastor.etra-id@etra.es>
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/ser-go32.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7fdee03..59e3f0e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
2001-02-04 Eli Zaretskii <eliz@is.elta.co.il>
+ * ser-go32.c (dos_write) [UART_FIFO_WORKS]: Use outportsb only if
+ UART_FIFO_WORKS is defined. Otherwise use outportb.
+ From Francisco Pastor <fpastor.etra-id@etra.es>
+
* go32-nat.c (go32_xfer_memory): Make the argument list consistent
with target.h's `to_xfer_memory' member.
diff --git a/gdb/ser-go32.c b/gdb/ser-go32.c
index 8a19dd4..ec1c3e0 100644
--- a/gdb/ser-go32.c
+++ b/gdb/ser-go32.c
@@ -796,9 +796,16 @@ dos_write (serial_t scb, const char *str, int len)
/* send the data, fifosize bytes at a time */
cnt = fifosize > len ? len : fifosize;
port->txbusy = 1;
+ /* Francisco Pastor <fpastor.etra-id@etra.es> says OUTSB messes
+ up the communications with UARTs with FIFOs. */
+#ifdef UART_FIFO_WORKS
outportsb (port->base + com_data, str, cnt);
str += cnt;
len -= cnt;
+#else
+ for ( ; cnt > 0; cnt--, len--)
+ outportb (port->base + com_data, *str++);
+#endif
#ifdef DOS_STATS
cnts[CNT_TX] += cnt;
#endif