Re: Unable to handle kernel NULL pointer... on cat /proc/pci

Gerard Roudier (groudier@club-internet.fr)
Wed, 24 Sep 1997 20:01:45 +0200 (MET DST)


On Wed, 24 Sep 1997, Magnus Sjoegren wrote:

> On Wed, 24 Sep 1997, Gabriel Paubert wrote:
>
> >
> > Your chipset is likely broken, a not present PCI device, should return
> > ffff:ffff, some broken ones return 0000:0000 but yours is truly abnormal.

That depends on the way you try to access the confguration space of a
not present device.

If you use directly the PCI bios (pci_bios_config_read() functions and
friends) you are just using this function _improperly_.

The behaviour of these functions is only specified for devices that have
been successfully detected using a configuration mechanism.
So, if the device is not present the returned value is UNPREDICABLE.

If you are using a configuration mechanism (#1 or #2) that accesses
directly the PCI controller, you will normally get the expected value
0xffff for not existing PCI devices.

Look into the kernel. If the kernel try to use a PCI bios function to
access the device and this device is not present, you are just assuming
some extra PCI bios specifications. If it uses a configuration
mechanism, then the PCI controller is broken.

Gerard.