Skip to contentSkip to conversation

IO delay, port 0x80, and BIOS POST codes

DISCUSSION Thunder from the hill 2 participants 2 messages Mar 14, 2002 – Mar 15, 2002

lore
Share & tools
lore
#0 lore raw
Quoted 24 lines · Richard B. Johnson
Quoted 12 lines · Martin Wilck

Hello,

the BIOS on our machines (Phoenix) uses IO-port 0x80 for storing POST codes, not only during sytem startup, but also for messages generated during SMM (system management mode) operation. I have been told other BIOSs do the same.

Unfortunately we can't read this information because Linux uses port 80 as "dummy" port for delay operations. (outb_p and friends, actually there seem to be a more hard-coded references to port 0x80 in the code).

Quoted 8 lines

It seems this problem was always there, just nobody took notice of it yet (at least in our company). Sometimes people wondered about the weird POST codes displayed in the LCD panel, but who cares once the machine is up...

Would it be too outrageous to ask that this port number be changed, or made configurable?

Martin

Quoted 8 lines

This is a 'N' year-old question. Do you know of a port that is guaranteed to exist on the Intel/PC/AT class machine? If so, submit a patch. I proposed using 0x19h (DMA scratch register) several years ago, but it was shot down for some reason. Then I proposed 0x42 (PIT Misc register), that too was declared off-limits. So I suggested that the outb to 0x80 be changed to an inp, saving %eax on the stack first. That too was shot down. So, you try something... and good luck.

I also remember this been discussed anually. Making it configurable with a warning might be a solution, but that's nothing we could decide. Maybe add a config option? It night be a [DANGEROUS] one, so the guys and gals who might compile are warned of changing this.
I think the problem is that on PC arch anything is quite limited.

Thunder

#1 lore raw
Quoted 4 lines · Thunder from the hill

I also remember this been discussed anually. Making it configurable with a warning might be a solution, but that's nothing we could decide. Maybe add a config option? It night be a [DANGEROUS] one, so the guys and gals who might compile are warned of changing this.

It doesn't even have to be a config option - a line

/* Port used for dummy writes for I/O delays */ /* Change this only if you know what you're doing ! */ #define DUMMY_IO_PORT 0x80

in a header file would perfectly suffice.

Martin

Signature · 4 lines
Martin Wilck                Phone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1	    mailto:[email protected]
D-33106 Paderborn           http://www.fujitsu-siemens.com/primergy