Re: Bind irq to icu failed

Björn Döbel <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
Hi again,

>> I am trying to use e1000e driver in Ankh to bring-up intel's 82574L
>> ethernet controller. But its unable to allocate interrupt and I cant
>> figure out the source of the problem.
> 
> Can you please try this?
> 
> 
> Index: dde/linux26/lib/src/arch/l4/pci.c
> ===================================================================
> --- dde/linux26/lib/src/arch/l4/pci.c   (Revision 41236)
> +++ dde/linux26/lib/src/arch/l4/pci.c   (Arbeitskopie)
> @@ -196,6 +196,7 @@
>         Assert(pci_bus);
> 
>         pci_do_scan_bus(pci_bus);
> +       pci_walk_bus(pci_bus, pci_irq_enable, NULL);
> 
>         INITIALIZE_INITVAR(dde26_pci);
>  }

Christian kindly asked for a longer explanation: modern BIOSes reroute
IRQs. The updated information on the newly assigned IRQ number is
provided through some ACPI tables that are parsed correctly by the IO
server.

The Linux drivers, though, try to read the IRQ no. from the PCI config
space, which is not touched by the BIOS and hence contains an invalid
value. Calling pci_irq_enable() afterwards will make sure that DDE gets
the "right" IRQ value from the IO server.

Björn
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.