Date: Wed, 30 Aug 2000 10:49:35 -0700 (PDT) From: John Polstra <jdp@polstra.com> To: alpha@freebsd.org Subject: Re: Console problems on alpha with -current Message-ID: <200008301749.KAA40081@vashon.polstra.com> In-Reply-To: <200008301629.JAA39892@vashon.polstra.com> References: <200008300505.WAA43988@pike.osd.bsdi.com> <200008301629.JAA39892@vashon.polstra.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <200008301629.JAA39892@vashon.polstra.com>, John Polstra
<jdp@polstra.com> wrote:
> It seems you are right about the cause of the problem. I have now
> built a kernel with the hints compiled in statically using the
> "hints" directive in the config file. The console works fine in
> that kernel.
Stranger and stranger. I have two kernels which are identical, except
that one of them has the hints compiled in statically and the other
one doesn't. I boot each kernel verbosely and grab the dmesg output.
The two kernels are finding the exact same hints, but in different
orders.
Using /boot/device.hints (bad console):
Setting atkbd 0 at to atkbdc (string)
Setting atkbd 0 irq to 1 (int)
Setting atkbdc 0 at to isa (string)
Setting atkbdc 0 port to 96 (int)
Setting fd 0 at to fdc0 (string)
Setting fd 0 drive to 0 (int)
Setting fdc 0 at to isa (string)
Setting fdc 0 drq to 2 (int)
Setting fdc 0 irq to 6 (int)
Setting fdc 0 port to 1008 (int)
Setting mcclock 0 at to isa (string)
Setting mcclock 0 port to 112 (int)
Setting psm 0 at to atkbdc (string)
Setting psm 0 irq to 12 (int)
Setting sc 0 at to isa (string)
Setting sio 0 at to isa (string)
Setting sio 0 irq to 4 (int)
Setting sio 0 port to 1016 (int)
Setting sio 1 at to isa (string)
Setting sio 1 flags to 80 (int)
Setting sio 1 irq to 3 (int)
Setting sio 1 port to 760 (int)
Setting vga 0 at to isa (string)
Using static hints (good console):
Setting mcclock 0 at to isa (string)
Setting mcclock 0 port to 112 (int)
Setting atkbdc 0 at to isa (string)
Setting atkbdc 0 port to 96 (int)
Setting atkbd 0 at to atkbdc (string)
Setting atkbd 0 irq to 1 (int)
Setting psm 0 at to atkbdc (string)
Setting psm 0 irq to 12 (int)
Setting vga 0 at to isa (string)
Setting sc 0 at to isa (string)
Setting fdc 0 at to isa (string)
Setting fdc 0 port to 1008 (int)
Setting fdc 0 irq to 6 (int)
Setting fdc 0 drq to 2 (int)
Setting fd 0 at to fdc0 (string)
Setting fd 0 drive to 0 (int)
Setting sio 0 at to isa (string)
Setting sio 0 port to 1016 (int)
Setting sio 0 irq to 4 (int)
Setting sio 1 at to isa (string)
Setting sio 1 port to 760 (int)
Setting sio 1 irq to 3 (int)
Setting sio 1 flags to 80 (int)
This in turn affects the probe order, judging from the dmesg output.
The ultimate effect is this difference:
bad: sc0: VGA <16 virtual consoles, flags=0x0>
good: sc0: VGA <16 virtual consoles, flags=0x200>
which I suspect is the reason the console isn't working right. The
0x200 flag (actually stored in the "config" field of the softc struct)
is SC_KERNEL_CONSOLE.
John
--
John Polstra jdp@polstra.com
John D. Polstra & Co., Inc. Seattle, Washington USA
"Disappointment is a good sign of basic intelligence." -- Chögyam Trungpa
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200008301749.KAA40081>
