Based on some emails from Andrew I started poking around into the epia-m serial port problem. Here are my observations: The 9 pin internal serial port is part of the VT1211 chip, not the VT8235, or other chips with serial ports.
Under linux all baud rates are 1/2 what they should be. So if I pick 115200, I get 57600. If I pick 19200, I get 9600, etc.
I can fix linux with setserial /dev/ttyS0 baud_base 57600 Then the actual baud rate matches what I expect. 38400 and 115200 cannot be achieved though.
Andrew says if he boots with Award and the warm boots into linuxbios, the serial port is 115200.
On the epia-m motherboard near the VT1211 chip is a crystal oscillator labeled KTS24.5X1K, which suggests it is 24.5 mhz. The VT1211 spec calls for a 48 mhz clock. Don't know if this is the cause of the problem, VT1211 being driven by 1/2 speed clock.
My guess is there is some register in the VT1211 that has to be tweaked to specify the serial port clock divisor. linuxbios doesn't touch this at all. award bios sets it to match the 24.5 mhz crystal. On cold startup the vt1211 defaults to assuming 48 mhz input clock. This explains all observations, but doesn't solve the problem...
I just put a scope on pin 17 of the vt1211, it appears to be 48 mhz though so that blows that theory.