Looks like I have located the problem. The reason of the ethernet can't get irq is because pirq routing table is not written properly. If option CONFIG_COMPRESS is set to 0, then everything back to normal. compression may affect pirq routing table area. Also, 2.4.17 and 2.4.19 also have different behavior. On 2.4.19, ping doesn't work even it has an irq. However, if writing an irq to PCI_INTERRUPT_LINE in mainboard.c, then ping works. 2.4.17 works either way.
-Andrew
On Tue, Nov 12, 2002 at 07:54:29AM -0700, Ronald G. Minnich wrote:
On 11 Nov 2002, Eric W. Biederman wrote:
Does someone want to write some generic irq assignment code, that we can report in the pci registers? I think in general this is something we want to do even if linux let's us get away with it most of the time. Other OS's that are less hotplug friendly won't and it shouldn't be that much code to write.
It would be useful, but .... Andrew's problem is something else. It is almost useful in this case to have the error propagate to Linux since it is revealing a problem.
I wonder if Adam Sulmicki has done IRQ initialization support since they support many OSes.
Also, generic code won't solve the special-cases we are seeing. But it is still worth having. It would make our Plan 9 work much easier, since Plan 9's IRQ code doesn't work correctly in several cases.
ron
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios