Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Apr 2005 09:27:32 +0200
From:      Antoine Brodin <antoine.brodin@laposte.net>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        nate@root.org
Subject:   Re: Interrupt storm
Message-ID:  <20050412092732.72c9c87a.antoine.brodin@laposte.net>
In-Reply-To: <200504112031.26979.jhb@FreeBSD.org>
References:  <b37cb09705032911295ce15f84@mail.gmail.com> <200504081529.33026.jhb@FreeBSD.org> <20050409115745.31a0059c.antoine.brodin@laposte.net> <200504112031.26979.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin <jhb@FreeBSD.org> wrote:
> On Saturday 09 April 2005 05:57 am, Antoine Brodin wrote:
> > John Baldwin <jhb@FreeBSD.org> wrote:
> > > I think your other link devices are meant to be used in APIC mode (note
> > > their names start with 'A') and thus I think they are aliases for the
> > > other link devices.  So when I turn off the alias, I turn off the
> > > non-APIC mode one as well.  Working BIOSen handle this by having the same
> > > link device change its behavior (different _PRS return values) depending
> > > on the PIC mode.  It's not easy to determine if a link is just not used
> > > (for example, if no card is plugged into a slot with a dedicated link) or
> > > if it's an alias.  I think having two ACPI devices alias to the same
> > > hardware is a bug in the BIOS though.  Perhaps your BIOS vendor can be
> > > convinced to fix this.  Can you see if Linux has the same problem btw?
> >
> > I've just sent a technical support request to ASUS. I'll let you know
> > when they reply.
> > Linux doesn't have the same problem: I tested with a knoppix live cd
> > yesterday.
> > dmesg: http://bsd.miki.eu.org/~antoine/knoppix36.dmesg , but it doesn't
> > look very helpful.
> 
> Actually, it is.  What Linux is doing is probing all the link devices before 
> it probes any PCI devices, so all the _DIS calls happen before any interrupts 
> are routed.  I believe Nate knows how to get FreeBSD to do something similar 
> via a hack.

There's this hack that works here:

%%%
Index: acpi.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpi.c,v
retrieving revision 1.210
diff -u -p -r1.210 acpi.c
--- acpi.c      31 Mar 2005 19:07:26 -0000      1.210
+++ acpi.c      9 Apr 2005 09:50:54 -0000
@@ -1503,6 +1503,9 @@ acpi_probe_order(ACPI_HANDLE handle, int
     } else if (acpi_MatchHid(handle, "PNP0C09")) {
 	*order = 2;
 	ret = 1;
+    } else if (acpi_MatchHid(handle, "PNP0C0F")) {
+	*order = 3;
+	ret = 1;
     }
 
     return (ret);
%%%

Cheers,

Antoine



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050412092732.72c9c87a.antoine.brodin>