Re: PATCH: IDE - sensible probing for PCI systems

From: Alan Cox
Date: Tue Jun 21 2005 - 09:21:17 EST


On Maw, 2005-06-21 at 14:42, Maciej W. Rozycki wrote:
> On Tue, 21 Jun 2005, Alan Cox wrote:
>
> > Old ISA/VESA systems sometimes put tertiary IDE controllers at addresses
> > 0x1e8, 0x168, 0x1e0 or 0x160. Linux thus probes these addresses on x86
> > systems. Unfortunately some PCI systems now use these addresses for
> > other purposes which leads to users seeing minute plus hangs during boot
> > or even crashes.
>
> Are these addresses visible in BARs?

Sometimes but often not. They tend to be below the PCI range used by the
systems but belonging to onboard "magic"

> FYI, for MIPS for machines with a PCI bus we only probe for ISA IDE ports
> on if there's a PCI-ISA or PCI-EISA bridge somewhere there. This might be
> a good idea for the i386 and probably any platform using PCI as well.

The primary/secondary ISA ports show up in PC systems because of the PCI
IDE class devices being in compatibility mode not native mode (so you
can still run old OS's). There are also a couple of older weird cases.

The PCI layer code is smart enough to figure out when a PCI and an ISA
probe find the same device and to put the entire thing together properly
so that aspect of it is ok.

For the 3rd and higher ports probing them isn't safe on a PCI box
regardless of the presence of ISA bridges so I don't think we need the
extra complexity - or am I missing something ?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/