Re: page fault panic in device_get_softc/acpi_pcib_route_interrupt

From: Nate Lawson <nate_at_root.org>
Date: Thu, 06 Jan 2005 23:15:06 -0800
Pawel Worach wrote:
> Nate Lawson wrote:
> 
>> A possible fix is to change each reference to LP* in the PICM and APIC 
>> packages to be \LPUS, \LP05, etc.  Then recompile and load your asl 
>> via the instructions for overriding it in acpi(4).
>>
>> I'm still not sure why this is broken though so I think it's a red 
>> herring and suspect the asl fix won't help.  I suspect the real reason 
>> is that \LPUS is not probed/attached before calling pci_add_child() on 
>> PCI0.  Pawel, can you stick a printf in acpi_pci_link_attach() right 
>> before the return (0) like this:
>>
>> printf("pci link attached: %s\n", acpi_name(acpi_get_handle(dev)));
>>
>> I suspect we won't see LPUS there before it panics.
> 
> I do not even see the code enter acpi_pci_link_attach(), even added a dummy
> printf at the top of the method.

That's a problem.  If the link isn't attached, you can't route 
interrupts by it.  Try adding this to  the if statemetns in 
sys/dev/acpica/acpi.c:acpi_probe_order() --

     /* attach pci links early */
     } else if (acpi_MatchHid(handle, "PNP0C0F")) {
	*order = 3;
	ret = 1;
     }

-- 
Nate
Received on Fri Jan 07 2005 - 06:15:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:25 UTC