i386/100831: sio ignores BIOS information about serial ports - bounty offered

Marcel Moolenaar marcel at xcllnt.net
Thu Aug 3 22:16:50 UTC 2006


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 at xcllnt.net




More information about the freebsd-i386 mailing list