NetBSD Problem Report #46574
From www@NetBSD.org Sun Jun 10 11:05:36 2012
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
by www.NetBSD.org (Postfix) with ESMTP id 4F88C63B89C
for <gnats-bugs@gnats.NetBSD.org>; Sun, 10 Jun 2012 11:05:36 +0000 (UTC)
Message-Id: <20120610110535.1E3D463B882@www.NetBSD.org>
Date: Sun, 10 Jun 2012 11:05:35 +0000 (UTC)
From: nathanialsloss@yahoo.com.au
Reply-To: nathanialsloss@yahoo.com.au
To: gnats-bugs@NetBSD.org
Subject: wsfb/genfb: single user boot sets the wrong colour palette if SPLASHSCREEN
X-Send-Pr-Version: www-1.0
>Number: 46574
>Category: kern
>Synopsis: wsfb/genfb: single user boot sets the wrong colour palette if SPLASHSCREEN
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jun 10 11:10:00 +0000 2012
>Last-Modified: Sun Jun 10 11:25:01 +0000 2012
>Originator: Nat Sloss
>Release: NetBSD Current 6.99.7
>Organization:
>Environment:
NetBSD beast 6.99.7 NetBSD 6.99.7 (LOCKDEBUG) #81: Sun Jun 10 19:35:53 EST 2012 build@beast:/usr/src/sys/arch/i386/compile/obj/LOCKDEBUG i386
>Description:
If you're using a kernel with the SPLASHSCREEN option and you boot with an 8 bit colour depth vesa screen and single user the kernel messages change to blue when genfb attaches.
This is because wsfb/genfb.c sets the colour palette if there is a splashscreen or not (This is only relevant at 8 bit colour depth).
I tried testing if not DISABLESPLASH before restoring the palette in genfb.c to no avail as other parts of the code must be using the colour palette settings.
>How-To-Repeat:
On a kernel compiled with the SPLASHSCREEN option type the following at the boot prompt:
vesa 640x480x8
boot -s
Then you will notice about half way through the booting process the kernel messages change to blue (as soon as genfb attaches).
>Fix:
Just one of many solutions is to initialise the colour palette and redraw the screen if DISABLESPLASH is set:
Index: sys/dev/wsfb/genfb.c
===================================================================
RCS file: /cvsroot/src/sys/dev/wsfb/genfb.c,v
retrieving revision 1.48
diff -u -r1.48 genfb.c
--- sys/dev/wsfb/genfb.c 12 Apr 2012 22:36:15 -0000 1.48
+++ sys/dev/wsfb/genfb.c 10 Jun 2012 10:45:37 -0000
@@ -314,6 +314,9 @@
genfb_init_palette(sc);
vcons_replay_msgbuf(&sc->sc_console_screen);
}
+ } else {
+ genfb_init_palette(sc);
+ vcons_replay_msgbuf(&sc->sc_console_screen);
}
#else
genfb_init_palette(sc);
Note: This patch is my own work which I submit under the NetBSD license.
Regards,
Nat.
>Audit-Trail:
From: Nat Sloss <nathanialsloss@yahoo.com.au>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/46574: wsfb/genfb: single user boot sets the wrong colour palette if SPLASHSCREEN
Date: Sun, 10 Jun 2012 21:16:40 +1000
Hi.
I forgot to ask could NetBSD 6 be pulled up?
Regards,
Nat.
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.