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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0D55A079-32B9-49B4-998C-7B5E67A2E434>
