Date: Tue, 12 Apr 2005 10:55:36 -0700 From: Nate Lawson <nate@root.org> To: Antoine Brodin <antoine.brodin@laposte.net> Cc: John Baldwin <jhb@FreeBSD.org> Subject: Re: Interrupt storm Message-ID: <425C0B98.7060605@root.org> In-Reply-To: <20050412092732.72c9c87a.antoine.brodin@laposte.net> References: <b37cb09705032911295ce15f84@mail.gmail.com> <200504081529.33026.jhb@FreeBSD.org> <20050409115745.31a0059c.antoine.brodin@laposte.net> <200504112031.26979.jhb@FreeBSD.org> <20050412092732.72c9c87a.antoine.brodin@laposte.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Antoine Brodin wrote: > 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); > %%% That is exactly the right one and we should have been doing this already. -- Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?425C0B98.7060605>