Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev for some reason the previous commit causes ARCS firm...



details:   https://anonhg.NetBSD.org/src/rev/70815130a45a
branches:  trunk
changeset: 338539:70815130a45a
user:      macallan <macallan%NetBSD.org@localhost>
date:      Fri May 29 16:26:45 2015 +0000

description:
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.

diffstat:

 sys/dev/cons.c |  20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diffs (48 lines):

diff -r 5b11e633ab0a -r 70815130a45a sys/dev/cons.c
--- a/sys/dev/cons.c    Fri May 29 16:05:13 2015 +0000
+++ b/sys/dev/cons.c    Fri May 29 16:26:45 2015 +0000
@@ -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 @@
        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 @@
                }
                (*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



Home | Main Index | Thread Index | Old Index