Date: Fri, 7 Jan 2005 11:01:02 -0500 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-current@FreeBSD.org Cc: Nate Lawson <nate@root.org> Subject: Re: page fault panic in device_get_softc/acpi_pcib_route_interrupt Message-ID: <200501071101.02518.jhb@FreeBSD.org> In-Reply-To: <41DDC941.9000609@telia.com> References: <20587818.1102626838092.JavaMail.tomcat@pne-ps4-sn1> <41DDBA4F.6010009@root.org> <41DDC941.9000609@telia.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 06 January 2005 06:26 pm, 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. This is because the references don't work during the force-attach either (which happens before pci_add_child() as I explained to Nate in my earlier e-mail). > I modified the AML, changed all LP* to \LP* (except for the Device(LP*) > ones, should I change these too?) the result was a couple of errors during > boot. I broke something didn't I? > > can't fetch resources for \_SB_.PCI0 - AE_AML_INVALID_RESOURCE_TYPE > can't fetch resources for \_SB_.PCI0.ISA_.SIOM - AE_AML_NO_RESOURCE_END_TAG > can't fetch resources for \_SB_.PCI0.ISA_.PS2M - AE_AML_NO_RESOURCE_END_TAG > can't fetch resources for \_SB_.PCI0.ISA_.FDC0 - AE_AML_NO_RESOURCE_END_TAG > can't fetch resources for \_SB_.PCI0.ISA_.COM1 - AE_AML_NO_RESOURCE_END_TAG > can't fetch resources for \_SB_.PCI1 - AE_AML_INVALID_RESOURCE_TYPE > can't fetch resources for \_SB_.PCI2 - AE_AML_INVALID_RESOURCE_TYPE > can't fetch resources for \_SB_.PCI3 - AE_AML_INVALID_RESOURCE_TYPE > can't fetch resources for \_SB_.PCI4 - AE_AML_INVALID_RESOURCE_TYPE > .. > Fatal trap 12: page fault while in kernel mode > [same old story] > ... Only change the LPxx entries in the _PRT tables. Specifically, find the PICM package and change their entries. Something like this: --- ibm-x345.aml.orig Fri Jan 7 10:59:26 2005 +++ ibm-x345.aml Fri Jan 7 11:00:23 2005 @@ -4417,7 +4417,7 @@ { 0x0005FFFF, 0x00, - LP08, + \LP08, 0x00 }, @@ -4425,7 +4425,7 @@ { 0x0005FFFF, 0x01, - LP09, + \LP09, 0x00 }, @@ -4433,7 +4433,7 @@ { 0x0005FFFF, 0x02, - LP08, + \LP08, 0x00 }, @@ -4441,7 +4441,7 @@ { 0x0005FFFF, 0x03, - LP09, + \LP09, 0x00 }, @@ -4449,7 +4449,7 @@ { 0x0006FFFF, 0x00, - LP0A, + \LP0A, 0x00 }, @@ -4457,7 +4457,7 @@ { 0x000FFFFF, 0x00, - LPUS, + \LPUS, 0x00 } }) @@ -4507,7 +4507,7 @@ { 0x000FFFFF, 0x00, - LPUS, + \LPUS, 0x00 } }) @@ -4533,7 +4533,7 @@ { 0x0003FFFF, 0x00, - LP04, + \LP04, 0x00 }, @@ -4541,7 +4541,7 @@ { 0x0003FFFF, 0x01, - LP05, + \LP05, 0x00 }, @@ -4549,7 +4549,7 @@ { 0x0003FFFF, 0x02, - LP04, + \LP04, 0x00 }, @@ -4557,7 +4557,7 @@ { 0x0003FFFF, 0x03, - LP05, + \LP05, 0x00 } }) @@ -4617,7 +4617,7 @@ { 0x0004FFFF, 0x00, - LP06, + \LP06, 0x00 }, @@ -4625,7 +4625,7 @@ { 0x0004FFFF, 0x01, - LP07, + \LP07, 0x00 }, @@ -4633,7 +4633,7 @@ { 0x0004FFFF, 0x02, - LP06, + \LP06, 0x00 }, @@ -4641,7 +4641,7 @@ { 0x0004FFFF, 0x03, - LP07, + \LP07, 0x00 } }) @@ -4701,7 +4701,7 @@ { 0x0001FFFF, 0x00, - LP00, + \LP00, 0x00 }, @@ -4709,7 +4709,7 @@ { 0x0001FFFF, 0x01, - LP01, + \LP01, 0x00 }, @@ -4717,7 +4717,7 @@ { 0x0001FFFF, 0x02, - LP00, + \LP00, 0x00 }, @@ -4725,7 +4725,7 @@ { 0x0001FFFF, 0x03, - LP01, + \LP01, 0x00 }, @@ -4733,7 +4733,7 @@ { 0x0008FFFF, 0x00, - LP0D, + \LP0D, 0x00 }, @@ -4741,7 +4741,7 @@ { 0x0008FFFF, 0x01, - LP0E, + \LP0E, 0x00 } }) @@ -4817,7 +4817,7 @@ { 0x0002FFFF, 0x00, - LP02, + \LP02, 0x00 }, @@ -4825,7 +4825,7 @@ { 0x0002FFFF, 0x01, - LP03, + \LP03, 0x00 }, @@ -4833,7 +4833,7 @@ { 0x0002FFFF, 0x02, - LP10, + \LP10, 0x00 }, @@ -4841,7 +4841,7 @@ { 0x0002FFFF, 0x03, - LP11, + \LP11, 0x00 }, @@ -4849,7 +4849,7 @@ { 0x0007FFFF, 0x00, - LP0B, + \LP0B, 0x00 }, @@ -4857,7 +4857,7 @@ { 0x0007FFFF, 0x01, - LP0C, + \LP0C, 0x00 } }) -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200501071101.02518.jhb>