Module Name: src
Committed By: macallan
Date: Fri May 29 16:26:45 UTC 2015
Modified Files:
src/sys/dev: cons.c
Log Message:
for some reason the previous commit causes ARCS firmware on sgimips64 to
spew an endless stream of white ( or rather, blue ) spaces. So revert to
the old code for sgimips only until I can figure out why.
Now sgimips64 n32 kernels boot again.
To generate a diff of this commit:
cvs rdiff -u -r1.74 -r1.75 src/sys/dev/cons.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/cons.c
diff -u src/sys/dev/cons.c:1.74 src/sys/dev/cons.c:1.75
--- src/sys/dev/cons.c:1.74 Thu Mar 5 14:02:55 2015
+++ src/sys/dev/cons.c Fri May 29 16:26:45 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: cons.c,v 1.74 2015/03/05 14:02:55 nakayama Exp $ */
+/* $NetBSD: cons.c,v 1.75 2015/05/29 16:26:45 macallan Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cons.c,v 1.74 2015/03/05 14:02:55 nakayama Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cons.c,v 1.75 2015/05/29 16:26:45 macallan Exp $");
#include <sys/param.h>
#include <sys/proc.h>
@@ -321,6 +321,13 @@ cnputc(int c)
if (cn_tab == NULL)
return;
+/*
+ * XXX
+ * for some reason this causes ARCS firmware to output an endless stream of
+ * whitespaces with n32 kernels, so use the pre-1.74 code for now until I can
+ * figure out why this happens
+ */
+#ifndef sgimips
if (c) {
if (c == '\n') {
(*cn_tab->cn_putc)(cn_tab->cn_dev, '\r');
@@ -328,6 +335,15 @@ cnputc(int c)
}
(*cn_tab->cn_putc)(cn_tab->cn_dev, c);
}
+#else
+ if (c) {
+ (*cn_tab->cn_putc)(cn_tab->cn_dev, c);
+ if (c == '\n') {
+ docritpollhooks();
+ (*cn_tab->cn_putc)(cn_tab->cn_dev, '\r');
+ }
+ }
+#endif
}
void