Re: ISA bus and SLOW_DOWN_IO

Edward Welbon (welbon@bga.com)
Mon, 26 May 1997 12:54:12 -0500 (CDT)


On Sun, 25 May 1997, Alan Modra wrote:

> PORT 0080-008F - DMA PAGE REGISTERS (74612)
>
> 0080 RW extra page register (temporary storage)
> 0084 RW extra page register

> The original IBM bios used writes to 0x80 to help debug bios progress
> during bootup (Manufacturing Diagnostics port). As such, writing to
> IO port 0x80 is a very good way to reduce the frequency of IO accesses
> to a slow IO card.

I disagree that the current method of writing to port 80 is a good. The
existing write to 0x80 writes an apparently random data value. If a
constant value or different address is used (e.g., 0x84) then one can
easily make use of writes to port 0x80 by writing identifying values and
using an inexpensive ISA debug card to capture and display the values.

I have added outb(ID,0x80) calls to several of the drivers I use (assign
the ID to indicate what is happening); the outb values show up on what
used to be the CPU frequency leds (where they can easily be seen). So I
can watch the bios messages while booting and then the kernel messages.
Since the LEDs preserve the values, you can tell who issued the last such
iob (very handy when hunting for lockups). I changed the original
SLOW_DOWN_IO ioport to 0x84. I have experienced no problems so far.

Incidently, sometime after the IPL of the kernel but before scsi
initialization, something besides SLOW_DOWN_IO is writing a value of 0x83
to io port 0x80. It is *not* the bios, this well into the boot. Doesn't
seem like a good idea.

Ed Welbon; welbon@bga.com;
<a href="http://www.bga.com/~welbon/arachnid.html">the arachnid mail list</a>