Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

bootblocks and bios fighting over what's com0?

I have a machine whose BIOS appears to claim that the first serial
port (COM1) is what we'd (once netbsd boots) usually call com1
(address 0x2f8).  This is an artifact of its BIOS console redirection:
the console redirection hides the serial port from BIOS callers. :-/

If I set up pxeboot_ia32.bin with nbinstallboot -o console=com0, it
appears that it uses what the *bios* claims is the first serial port,
but what we will, once NetBSD has booted, call com1.  This seems to me
to not be right.  We don't pick serial ports by their BIOS names (or
"com0" would make no sense) but by their NetBSD names -- so I think
this setting should always get me the serial port at 3f8, no matter
what the BIOS says COM1 is.

It appears I can override CONSADDR in the pxeboot build to change this
but reading the code, I can't quite see why it's happening at all.  I
think it should not -- a lot of BIOSes have this annoying quirk when
redirecting output to serial (admittedly, most allow it to be turned
off -- this one does not, unless I want to miss *all* the BIOS output
after the initial POST).

Can anyone point me at where in the source code we end up using what
the BIOS said was COM1 instead of what's at 3f8?  Also, do others think
the current behavior is correct?  I really do not.

Thor Lancelot Simon                                        
    "Even experienced UNIX users occasionally enter rm *.* at the UNIX
     prompt only to realize too late that they have removed the wrong
     segment of the directory structure." - Microsoft WSS whitepaper

Home | Main Index | Thread Index | Old Index