Thanks,
That helped, once I set the IRQ_SLOT_COUNT to the proper value (6), so that it matches the number of slots in interrupt table.
Now the pirq table is recognized by Linux, and the proper interrupt is assigned to the ethernet controller.
The next problem is that in spite of this, the ethernet chip doesn't generate interrupts anymore.
Is there any additional configuration /setup that I need to do?
Joep
- joep@frog.nl joep@frog.nl [051203 16:04]:
This reason is that linux is not able to locate the interrupt table, because linuxbios failed to copy the table to the area at 0xf0000:
.... Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...failed Moving GDT to 0x500...ok Wrote linuxbios table at: 00000530 - 000006b4 checksum e72d
I saw that this issue was discussed earlier in this list (March 2005, started by ramesh), but I found no reference as to if and how it was ever solved.
Are you using LinuxBIOS v1 or v2? Try disabling CONFIG_COMPRESS.
The bios area around 0xf0000 is probably readonly, so the write fails. CONFIG_COMPRESS will leave the in-flash copy of the pirq table readable for Linux.
Stefan