Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Aug 2006 15:16:22 -0700
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        Warner Losh <imp@bsdimp.com>
Cc:        jrhett@svcolo.com, freebsd-gnats-submit@freebsd.org, freebsd-i386@freebsd.org, nate@root.org
Subject:   Re: i386/100831: sio ignores BIOS information about serial ports - bounty offered
Message-ID:  <0D55A079-32B9-49B4-998C-7B5E67A2E434@xcllnt.net>
In-Reply-To: <20060803.152816.112545225.imp@bsdimp.com>
References:  <44D151DF.10000@root.org> <20060803.111243.74675763.imp@bsdimp.com> <4D601BDF-4D76-43CB-A565-30837492E3DE@xcllnt.net> <20060803.152816.112545225.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Aug 3, 2006, at 2:28 PM, Warner Losh wrote:

> Agreed.  However, the sio flags to designate a unit as console is the
> only thing that doesn't fit well with hints, as presently implemented.
> It should really be something like: console.type={serial,video}
> console.location=<io=xxx,mem=yyy>
>
> so that would could use a video card not mapped to the default address
> as the console, etc.  It would be up to the driver at attach time to
> look at the available console meta-information to see if this driver
> matches that information.  Then it wouldn't matter for a serial
> console point of view what driver unit is assigned.  It might matter
> for other reasons...

This is exactly what I implemented for uart(4). As long as the I/O
location used by the low-level console is actually being "found"
during bus-enumeration and the right driver is being attached,
then you always have a working console for going to single-user
mode. Not to mention that the firmware typically exports console
information in terms of I/O location (see DIG64 HCDP or Microsoft
SPCR), so you can trivially use that too (see for a real example
src/sys/dev/uart/uart_cpu_ia64.c).

-- 
  Marcel Moolenaar         USPA: A-39004          marcel@xcllnt.net





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0D55A079-32B9-49B4-998C-7B5E67A2E434>