Subject: serial console bug report: port-i386/9236
To: None <port-i386@netbsd.org>
From: Jason R Thorpe <thorpej@zembu.com>
List: port-i386
Date: 06/07/2000 10:33:44
Hi folks...

I have discovered the cause of PR port-i386/9236.  In a nutshell, let
me describe the problem I was seeing that caused me to look into this
PR.

On my L440GX+ server board, I have enabled console redirection.  This
gets me the BIOS messages pre-boot.  I have also installed biosboot_com0,
which does direct i/o to the first serial port.

However, when the handoff to the boot program is made, the output appears
on the *second* serial port, also causing the kernel to use com1 as the
console.

A little investigating revealed what was happening.  The BIOS has a table
at 40:0 listing the serial ports present on the system.  When console
redirection is disabled, the table looks like:

f8 03 f8 02 00 00 00 00

When redirection is enabled:

f8 02 00 00 00 00 00 00

So, the BIOS has removed the first serial port from the list.

Needless to say, this is quite annoying.  It borders on utter stupidity,
actually.

I'm not sure of a good way to fix this.  I suppose perhaps we could simply
have a table containing the legacy serial port addresses so that at least
direct console I/O would work the vast majority of the time (i.e. only
failing when someone reconfigures where COM1 (i.e. com0).

Any thoughts?

-- 
        -- Jason R. Thorpe <thorpej@zembu.com>