i386/100831: sio ignores BIOS information about serial ports -
bounty offered
Jo Rhett
jrhett at svcolo.com
Fri Aug 4 18:37:41 UTC 2006
On Aug 4, 2006, at 5:29 AM, Bruce Evans wrote:
> Later we mentioned boot0. boot0 does use the BIOS and has COM1
> hard-wired, so assignment of COMB to COM1 at the BIOS level is the
> only way to make boot0 use COM1.
>
> Whether you can make COMB be COM1 at other levels depends on the other
> level's support for this. Whether settings at lower levels are
> honored
> at higher levels also depends on the other levels' support for this.
>
>> FreeBSD is currently assigning sio0 to serial A, regardless of the
>> IO and
>> IRQ settings. Likewise sio1 to Serial B, regardless of
>> configuration. It
>> appears likely that they are assigned based entirely on the order
>> that they
>> are presented via ACPI, and device hints are ignored entirely.
>
> This now seems a reasonable thing to do. WinXP behaves similarly here
> (see another reply). The hints are only hints, so they shouldn't be
> used if the hardware has been reconfigured but not moved. Only
> something
> stronger than a hint should move the unit numbers if the hardware
> hasn't
> moved. The problems are that the hints get used partially and
> there is
> nothing stronger.
I'd like to note for the record that all of this is goobly-gook.
None of what you're saying rhymes with the documentation, and even
you guys talking about this on the thread seem to have different
views of what is happening here.
I am finding this conversation nearly impossible to follow. Not
because it's technically difficult -- this stuff is fairly simple! --
but because I have no useful reference documentation, and it's not
always clear that everyone in the conversation is on the same page to
start with.
In particular, I'd like to argue this point:
> This now seems a reasonable thing to do. WinXP behaves similarly here
Absolutely not. 0x3f8 is ALWAYS COM1 to Windows, no matter what
version and no matter what physical port 0x3f8 is assigned to.
If you'd like to argue that assigning sio numbers based on physical
hardware ordering makes sense -- I can't argue with that. Except to
point out that if each and every level of the boot process does it
differently then it becomes impossible to have a serial console
except in the one condition that 0x3f8 is assigned to the first port
provided via acpi.
^^ Note that this latter condition has been possible in less than 50%
of the production environments on which I have worked over the last
17 years.
--
Jo Rhett
senior geek
Silicon Valley Colocation
More information about the freebsd-i386
mailing list