On Mon, 27 Mar 2000, Jeff Garzik wrote:
What problems exactly are you having in PCI setup? I've been messing around in that area lately and can help...
first, in 2.2.10, it doesn't do ANY configuration of memory-addressable BARs. Second, it doesn't do any IRQ assignment. If 2.3 fixes this then I'll just cut over.
ron
- To unsubscribe: send mail to majordomo@freiburg.linux.de with 'unsubscribe openbios' in the body of the message
"Ronald G. Minnich" wrote:
On Mon, 27 Mar 2000, Jeff Garzik wrote:
What problems exactly are you having in PCI setup? I've been messing around in that area lately and can help...
first, in 2.2.10, it doesn't do ANY configuration of memory-addressable BARs. Second, it doesn't do any IRQ assignment. If 2.3 fixes this then I'll just cut over.
It sounds like 2.2.x is relying on BIOS setup of PCI space even for the PCI_DIRECT case.
It is likely that 2.3.x needs this as well to some extent, but I can almost promise you that 2.3.x will behave more sanely when faced with the lack of BIOS setup... The 2.3.x kernel PCI code has a ton of fixup-handling code already, which would be very similar to handling the completely-lack-of-BIOS case. It shouldn't be very hard at all to get the PCI code completely independent of BIOS PCI setup -- if that hasn't happened already, that is.
Hello!
It sounds like 2.2.x is relying on BIOS setup of PCI space even for the PCI_DIRECT case.
Of course, the direct mode modifies only the way of accessing the configuration registers, not how does the kernel interpret their contents.
2.3.x might do better, but only for resources (and only in simple cases -- it doesn't know how to allocate space to bus bridges if the BIOS forgets to do it), not for IRQ's.
It is likely that 2.3.x needs this as well to some extent, but I can almost promise you that 2.3.x will behave more sanely when faced with the lack of BIOS setup... The 2.3.x kernel PCI code has a ton of fixup-handling code already, which would be very similar to handling the completely-lack-of-BIOS case. It shouldn't be very hard at all to get the PCI code completely independent of BIOS PCI setup -- if that hasn't happened already, that is.
If you want, I can look at the OpenBIOS and write some PCI setup code for it.
Have a nice fortnight
On Thu, 30 Mar 2000, Martin Mares wrote:
Of course, the direct mode modifies only the way of accessing the configuration registers, not how does the kernel interpret their contents.
ouch. I misunderstood, then. So direct in current form is not quite there.
2.3.x might do better, but only for resources (and only in simple cases -- it doesn't know how to allocate space to bus bridges if the BIOS forgets to do it), not for IRQ's.
It doesn't do much better.
OK, I'll just write the thing, then.
ron
- To unsubscribe: send mail to majordomo@freiburg.linux.de with 'unsubscribe openbios' in the body of the message
Martin Mares wrote:
Hello!
It sounds like 2.2.x is relying on BIOS setup of PCI space even for the PCI_DIRECT case.
Of course, the direct mode modifies only the way of accessing the configuration registers, not how does the kernel interpret their contents.
2.3.x might do better, but only for resources (and only in simple cases -- it doesn't know how to allocate space to bus bridges if the BIOS forgets to do it), not for IRQ's.
It is likely that 2.3.x needs this as well to some extent, but I can almost promise you that 2.3.x will behave more sanely when faced with the lack of BIOS setup... The 2.3.x kernel PCI code has a ton of fixup-handling code already, which would be very similar to handling the completely-lack-of-BIOS case. It shouldn't be very hard at all to get the PCI code completely independent of BIOS PCI setup -- if that hasn't happened already, that is.
If you want, I can look at the OpenBIOS and write some PCI setup code for it.
Here's a plug for the STPC-based BIOS sources... :) http://freebios.sourceforge.net/
"Ronald G. Minnich" wrote:
On Mon, 27 Mar 2000, Jeff Garzik wrote:
What problems exactly are you having in PCI setup? I've been messing around in that area lately and can help...
first, in 2.2.10, it doesn't do ANY configuration of memory-addressable BARs. Second, it doesn't do any IRQ assignment. If 2.3 fixes this then I'll just cut over.
In 2.3.x, make SURE all PCI devices you care about have pci_enable_device called for them before use... And don't forget to check the return code..