[coreboot] Gigabyte M57SLI-S4 Interrupt Fix

Harald Gutmann harald.gutmann at gmx.net
Thu Jun 11 11:07:36 CEST 2009


On Thursday 11 June 2009 10:28:51 you wrote:
> Hi Harald,
Hello Florentin!

Thanks for testing this patch, but it seems to me, that you did somewhere a 
mistake.

> I begun to test your patch (against the coreboot revision 4350) but
> unfortunately linux crashes after booting with your coreboot patch on my
> machine. :/
> Unfortunately I cannot send you any debug logs right now, but I will do it
> this evening when I return home (Im at work right now). The only
> informations that I can give you is that I used a 64 bit kernel (2.6.20)
> and the behaviour of the kernel seems like an "IRQ storm"  to me.. (the
> acpi was not activated in linux, but in coreboot I dont know..)
You need to test this patch against a clean coreboot tree, without any ACPI 
support for M57SLI.
The problem which I also ran into with this patch is:
When ACPI is activated in Coreboot with the vendors dstd.asl the interrupt 
routing is different to the interrupts set in mptable.c.

This means that Linux is not able to boot, because it normally prefers ACPI 
interrupt routing, and then the IRQ's which are set correctly in the ACPI 
tables don't fit to what is set in the interrupt registers.

If you are interested in the details have a look at 
http://www.coreboot.org/Nvidia_MCP55_Porting_Notes.

The registers from 0x7c-0x84 in mptable.c are set up with pci_write_config32 in 
mptable.c. There you can assign the IRQ's like you want to the different 
devices on the mainboard.
This can be done as you like, but you have to adjust all the PCI_INT (for 
mptable) and ACPI IRQ routing stuff so that it fits to those registers. The 
wiring is in that case what you need to look at. (Porting Notes)

Problem with activated ACPI: The ACPI IRQ routing does not fit to the patched 
0x7c-0x84 registers, and therefore you get what you called "IRQ Storm" (which 
means that no device get's is IRQ like it should; keep in mind that linux 
always prefers ACPI tables instead of falling back to a correct mptable it 
gives you those errors.)

I didn't miss that you wrote "acpi was not activated in linux", but i strongly 
believe that it was not completle deactivated.

So, please try my patch with a clean coreboot tree, and it should work well!

> Regards,
> Florentin Demetrescu
Regards,
Harald

PS: Please be so kindly and CC the list at least when talking about patches of 
coreboot.

> Quoting Harald Gutmann <harald.gutmann at gmx.net>:
> > Hello,
> >
> > after a few tries of me to fix the interrupt problems which occurred on
> > the M57SLI here is the final patch from me.
> >
> > The Patch fixes the following issues on M57SLI:
> > * Interrupt routing in the MPTable
> >
> > which affects the following hardware parts:
> > * PCI-E 16x Slots (blue and black) - both are working now like a charm
> > * PCI-E 1x Slots - all three should be fine, but I have no card to test.
> > (untested)
> > * PCI Slots - both work fine now.
> >
> > This is the first and (hopefully) the last patch on this issue which gets
> > a
> >
> > Signed-off-by: Harald Gutmann <harald.gutmann at gmx.net>
> >
> > from me.
> >
> > I'm really looking forward to commit this patch (which is my first one)
> > and mark the interrupt issues on the wiki page to the M57SLI as solved.
> > :)
> >
> >
> > Kind regards,
> > Harald Gutmann

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090611/f2b3d30a/attachment.sig>


More information about the coreboot mailing list