Skip site navigation (1)Skip section navigation (2)
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>