Subject: Re: (amd64) panic: mpacpi_findintr_linkdev: irq mismatch
To: Alex Hanson <schatziegill@comcast.net>
From: D'Arcy J.M. Cain <darcy@NetBSD.org>
List: current-users
Date: 12/28/2007 08:18:41
On Thu, 27 Dec 2007 23:12:52 -0800
Alex Hanson <schatziegill@comcast.net> wrote:
> After upgrading to netbsd-current/amd64 I experienced a kernel panic 
> upon boot. My experience is exactly the same as this one:
> 
> http://www.nabble.com/amd64-kernel-panic-td14355021.html
> (sorry if that is not the preferred way of referencing other messages)
> 
> I thought it would be more appropriate on this list.
> 
> Enabling mp_verbose gives this error description:
> > linkdev ALKA returned ACPI global int 1 
> I do not know what to look for from here.

I made the following changes.  The first is just to get more detail
after setting mp_verbose.  The second is the thing that allows me to
run NetBSD on my amd64.  jmcneil@ is working on a proper fix but so far
I have not had any problems running this kernel.

Index: arch/x86/x86/mpacpi.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/mpacpi.c,v
retrieving revision 1.56
diff -u -p -u -r1.56 mpacpi.c
--- arch/x86/x86/mpacpi.c    12 Dec 2007 23:33:22 -0000    1.56
+++ arch/x86/x86/mpacpi.c    28 Dec 2007 13:18:17 -0000
@@ -1139,12 +1139,10 @@ mpacpi_findintr_linkdev(struct mp_intr_m
     irq = acpi_pci_link_route_interrupt(mip->linkdev, mip->sourceindex,
         &line, &pol, &trig);
     if (mp_verbose)
-        printf("linkdev %s returned ACPI global int %d\n",
-            acpi_pci_link_name(mip->linkdev), line);
+        printf("linkdev %s returned ACPI global irq %d, line %d\n",
+            acpi_pci_link_name(mip->linkdev), irq, line);
     if (irq == X86_PCI_INTERRUPT_LINE_NO_CONNECTION)
         return ENOENT;
-    if (irq != line)
-        panic("mpacpi_findintr_linkdev: irq mismatch");


-- 
D'Arcy J.M. Cain <darcy@NetBSD.org>
http://www.NetBSD.org/