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