The mainboard is K7SEM and irq_tables.c is already in the source tree. I run the program getpir and get an irq_tables.c file which is the same as the one in the source tree. The program util/getpir reports 6 slot found, whether I plug in the multimedia card or not, and produce exact the same irq_tables.c.
And the option HAVE_PIRQ_TABLE=1 is set in the config file of the source tree.
I traced into the kernel source and found that the original BIOS set IRQ when POST, but linuxbios does not do so. The IRQ is 0 when start up with linuxbios. When the driver of the multimedia card comes up, it find the card has not an IRQ. Then the driver try to get one from the irq_table, but the PCI device is not in the irq_table, so it can not find one or assign one to the device.
What else can I do? Can I hard code one irq to the card?
Thanks!
David Xiong
----------------------------------------------------------------------------------------
Date: Sun, 29 Sep 2002 12:23:19 -0600 (MDT) From: Ronald G Minnich rminnich@lanl.gov To: "Steve M. Gehlbach" steve@nexpath.com cc: linuxbios@clustermatic.org Subject: RE: No IRQ Known for interrupt pin A of device 02:04.0. Please try using pci=biosirq
On Sun, 29 Sep 2002, Steve M. Gehlbach wrote:
You need to make and run the program util/getpir (using the original BIOS, running Linux) to make the file irq_tables.c, then copy that file into the mainboard directory, and set the option HAVE_PIRQ_TABLE=1. Linuxbios when it starts will copy this file into the shadowed RAM at 0xF0000, where Linux can find it during startup. This allows Linux to route the irqs.
exactly. If this is a new board I need all the info so I can put it in the source tree.
ron