diff target-utils/simagent/byterx.c @ 782:badc5399d641

simagent: flush_rx_fifo() factored out
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 13 Mar 2021 21:39:34 +0000
parents 9c1d580b50fb
children c136a1a2474b
line wrap: on
line diff
--- a/target-utils/simagent/byterx.c	Sat Mar 13 21:32:22 2021 +0000
+++ b/target-utils/simagent/byterx.c	Sat Mar 13 21:39:34 2021 +0000
@@ -12,6 +12,22 @@
 	return(-1);
 }
 
+flush_rx_fifo()
+{
+	unsigned count;
+
+	for (count = 0; ; ) {
+		if (SIMREGS.stat & SIM_STAT_FEMPTY)
+			break;
+		(void) SIMREGS.drx;
+		if (++count >= 32) {
+			printf("ERROR: Rx FIFO flush does not end\n");
+			return(-1);
+		}
+	}
+	return(0);
+}
+
 void
 cmd_sertimeout(argbulk)
 	char *argbulk;