summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2010-06-22 16:27:45 +0000
committermiod <miod@openbsd.org>2010-06-22 16:27:45 +0000
commit9620bcad60981c43c11bc75a68e253ee9bb40c9b (patch)
treec394a6e3c7915bce9087ac044d6bd53c6e213924
parentprotect the ccb free list with a mutex rather than relying on splbio (diff)
downloadwireguard-openbsd-9620bcad60981c43c11bc75a68e253ee9bb40c9b.tar.xz
wireguard-openbsd-9620bcad60981c43c11bc75a68e253ee9bb40c9b.zip
Some early 2.x sun4c PROM will default to serial input but glass output if no
keyboard is connected but a framebuffer exists in the machine; the current kernel console code will complain and switch to full serial, but later on the framebuffer would incorrectly take over the console. Correctly detect this situation and reset the `fbnode' variable. This is an improvement of the fix which went in rev 1.54 of this file.
-rw-r--r--sys/arch/sparc/sparc/autoconf.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/arch/sparc/sparc/autoconf.c b/sys/arch/sparc/sparc/autoconf.c
index 039b025b1d5..36c32bb1bf5 100644
--- a/sys/arch/sparc/sparc/autoconf.c
+++ b/sys/arch/sparc/sparc/autoconf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: autoconf.c,v 1.85 2010/06/07 19:54:33 miod Exp $ */
+/* $OpenBSD: autoconf.c,v 1.86 2010/06/22 16:27:45 miod Exp $ */
/* $NetBSD: autoconf.c,v 1.73 1997/07/29 09:41:53 fair Exp $ */
/*
@@ -1211,12 +1211,15 @@ mainbus_attach(parent, dev, aux)
* node if a framebuffer is installed, even if console is
* set to serial.
*/
- if (*promvec->pv_stdout != PROMDEV_SCREEN)
+ if (*promvec->pv_stdout != PROMDEV_SCREEN ||
+ *promvec->pv_stdin != PROMDEV_KBD)
fbnode = 0;
else {
/* remember which frame buffer is the console */
fbnode = getpropint(node, "fb", 0);
}
+ } else {
+ /* fbnode already initialized in consinit() */
}
/* Find the "options" node */