Re: PCI in 112

Daniel Engstrom (danne@lillfab.se)
Mon, 3 Aug 1998 19:48:53 +0200 (CEST)


On 3 Aug, Martin Mares wrote:
> Hello,
>
>> The PCI code in 2.1.112 seems strange, I accidently booted 2.1.112 on a
>> 486-100 ACC Micro 2087 chipset (4MB RAM) and no PCI today.
>> The kernel detected all possible combinations of bus numbers and
>> devices (65536 in all), discarding most (all?) of them due to invalid
>> header types.
>
> Please try this patch.
This works of cause, but isn't the real culpit that the code that checks
for PCI configuration type 2 is too weak?

/*
* Check if configuration type 2 works.
*/
if (pci_probe & PCI_PROBE_CONF2) {
outb (0x00, 0xCFB);
outb (0x00, 0xCF8);
outb (0x00, 0xCFA);
if (inb (0xCF8) == 0x00 && inb (0xCFA) == 0x00) {
__restore_flags(flags);
printk("PCI: Using configuration type 2\n");
return &pci_direct_conf2;
}
}

Let's see we reset three locations in I/O space and checks that two of
them reads back zero? Obviously my ACC chip set reads back zero at these
port locations as well...

BTW: Which chip sets are supposed to implement configuration type 2? We
should revisit the docs and design a better probe routine.

/Daniel

-- 

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html