Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Apr 2013 17:22:00 -0700
From:      Benjamin Lee <ben@b1c1l1.com>
To:        "Moore, Robert" <robert.moore@intel.com>
Cc:        "freebsd-acpi@freebsd.org" <freebsd-acpi@freebsd.org>
Subject:   Re: panic: acpi_pci_link_srs_from_crs: can't put non-ISA IRQ 20 in legacy IRQ resource type)
Message-ID:  <20130419172200.45d8601b@b1c1l1.com>
In-Reply-To: <94F2FBAB4432B54E8AACC7DFDE6C92E36FE42EA2@FMSMSX153.amr.corp.intel.com>
References:  <20130418124940.47e3618a@b1c1l1.com> <201304191131.49433.jhb@freebsd.org> <20130419131849.7357c8f6@b1c1l1.com> <201304191726.31089.jhb@freebsd.org> <20130419152110.213c7fbb@b1c1l1.com> <20130419155118.7bafe9fc@b1c1l1.com> <94F2FBAB4432B54E8AACC7DFDE6C92E36FE42E28@FMSMSX153.amr.corp.intel.com> <20130419163528.204bf3ff@b1c1l1.com> <94F2FBAB4432B54E8AACC7DFDE6C92E36FE42EA2@FMSMSX153.amr.corp.intel.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/4TzAPDF91p9L6qOcITCuvo3
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Sat, 20 Apr 2013 00:09:55 +0000, "Moore, Robert" <robert.moore@intel.com=
> wrote:
> Can you send the actual binary DSDT or the ASCII acpidump (not disassembl=
ed)

I missed this earlier, but I just noticed _OS and _OSI checks for
Windows.  I'll need to do some testing with hw.acpi.osname.

Here is the binary DSDT:

http://www.b1c1l1.com/media/debug/20130419-nvidia.dsdt

>=20
>=20
> > -----Original Message-----
> > From: Benjamin Lee [mailto:ben@b1c1l1.com]
> > Sent: Friday, April 19, 2013 4:35 PM
> > To: Moore, Robert
> > Cc: John Baldwin; freebsd-acpi@freebsd.org
> > Subject: Re: panic: acpi_pci_link_srs_from_crs: can't put non-ISA IRQ 20
> > in legacy IRQ resource type)
> >=20
> > On Fri, 19 Apr 2013 23:00:07 +0000, "Moore, Robert"
> > <robert.moore@intel.com> wrote:
> > > No, the length must be set in all descriptors, end tag included.
> >=20
> > Do you have any pointers on how I can fix my ASL?  Where do I find the =
end
> > tags and what should I set the lengths to?
> >=20
> > Here is the output from acpidump -dt:
> > http://www.b1c1l1.com/media/debug/20130418-nvidia.asl.gz
> >=20
> > >
> > > > -----Original Message-----
> > > > From: owner-freebsd-acpi@freebsd.org [mailto:owner-freebsd-
> > > > acpi@freebsd.org] On Behalf Of Benjamin Lee
> > > > Sent: Friday, April 19, 2013 3:51 PM
> > > > To: John Baldwin
> > > > Cc: freebsd-acpi@freebsd.org
> > > > Subject: Re: panic: acpi_pci_link_srs_from_crs: can't put non-ISA
> > > > IRQ 20 in legacy IRQ resource type)
> > > >
> > > > On Fri, 19 Apr 2013 15:21:10 -0700, Benjamin Lee <ben@b1c1l1.com>
> > wrote:
> > > > > On Fri, 19 Apr 2013 17:26:31 -0400, John Baldwin <jhb@freebsd.org>
> > > > wrote:
> > > > > > On Friday, April 19, 2013 4:18:49 pm Benjamin Lee wrote:
> > > > > > > On Fri, 19 Apr 2013 11:31:49 -0400, John Baldwin
> > > > > > > <jhb@freebsd.org>
> > > > wrote:
> > > > > > > > On Thursday, April 18, 2013 3:49:40 pm Benjamin Lee wrote:
> > > > > > > > > I have a system that panics on boot with 10-CURRENT and
> > > > > > > > > boots with many ACPI error messages and non-functional
> > > > > > > > > devices with
> > > > 9.1-RELEASE.
> > > > > > > > >
> > > > > > > > > Motherboard is Foxconn C51XEM2AA (NVIDIA nForce 590)
> > > > > > > > > desktop
> > > > board.
> > > > > > > [...]
> > > > > > > > > Even though 9.1-RELEASE boots successfully, devices such
> > > > > > > > > as the ehci USB controller and SATA controller do not wor=
k.
> > > > > > > >
> > > > > > > > Ugh, your BIOS does unexpected things.  It uses a _CRS for
> > > > > > > > these pci link devices that uses a "short" IRQ resource, but
> > > > > > > > uses an extended IRQ
> > > > > > resource in
> > > > > > > > _PRS (and expects an extended one in _SRS).  We use _CRS as
> > > > > > > > a template for
> > > > > > the
> > > > > > > > resource to build.
> > > > > > > >
> > > > > > > > Try this patch.  It's a bit hackish, but it forces us to not
> > > > > > > > use _CRS as a template if _CRS uses a "short" IRQ resource,
> > > > > > > > but the link supports non-
> > > > > > ISA
> > > > > > > > IRQs.
> > > > > > > [...]
> > > > > > >
> > > > > > > Thanks, that fixed the panic and the system boots.  Now it is
> > > > > > > complaining about AE_AML_BAD_RESOURCE_LENGTH and still unable
> > > > > > > to route IRQs, but it definitely looks better than the ACPI
> > > > > > > parsing
> > > > errors in 9:
> > > > > > >
> > > > > > > pcib0: allocated type 3 (0xdffff000-0xdfffffff) for rid 10 of
> > > > > > > pci0:0:10:0
> > > > > > > pcib0: matched entry for 0.10.INTA (src \_SB_.PCI0.AUBA:0)
> > > > > > > pci_link26: Picked IRQ 20 with weight 0
> > > > > > > pci_link26: Unable to route IRQs: AE_AML_BAD_RESOURCE_LENGTH
> > > > > > >
> > > > > > > Full boot -v output:
> > > > > > > http://www.b1c1l1.com/media/debug/20130419-10-patched-
> > > > > > boot.txt.gz
> > > > > >
> > > > > > Can you add some printfs to the places that return the
> > > > > > AE_AML_BAD_RESOURCE_LENGTH to see which one is being triggered?
> > > > > > (Just look for that constant in sys/contrib/dev/acpica to find
> > > > > > the possible places.)
> > > > >
> > > > > Is there a macro for dumping information about Resource or
> > > > > Resource->Data?  Here's what I have for now at
> > > > > sys/contrib/dev/acpica/resources/rscalc.c line 237:
> > > > >
> > > > > pcib0: matched entry for 0.10.INTA (src \_SB_.PCI0.AUBA:0)
> > > > > pci_link26: Picked IRQ 20 with weight 0
> > > > > rscalc.c:237
> > > > > Resource->Type: 7
> > > > > Resource->Length: 0
> > > > > pci_link26: Unable to route IRQs: AE_AML_BAD_RESOURCE_LENGTH
> > > > >
> > > > > All of the errors are from there and look identical (Type 7, Leng=
th
> > 0).
> > > > > Type 7 appears to be ACPI_RESOURCE_TYPE_END_TAG.
> > > >
> > > > This hack fixes everything (now the SATA controller works).  It
> > > > seems that the Resource->Length check might not be necessary for
> > > > ACPI_RESOURCE_TYPE_END_TAG.
> > > >
> > > > blee@genesis /usr/src/sys/contrib/dev/acpica $ svn diff
> > > > Index: components/resources/rscalc.c
> > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > --- components/resources/rscalc.c       (revision 249624)
> > > > +++ components/resources/rscalc.c       (working copy)
> > > > @@ -234,6 +234,15 @@
> > > >
> > > >          if (!Resource->Length)
> > > >          {
> > > > +            if (Resource->Type =3D=3D ACPI_RESOURCE_TYPE_END_TAG) {
> > > > +                TotalSize =3D AcpiGbl_AmlResourceSizes [Resource-
> > >Type];
> > > > +                printf("TotalSize: %u\n", TotalSize);
> > > > +                if (TotalSize !=3D 0) {
> > > > +                    printf("ACPI_RESOURCE_TYPE_END_TAG hack\n");
> > > > +                    *SizeNeeded =3D AmlSizeNeeded + TotalSize;
> > > > +                    return_ACPI_STATUS (AE_OK);
> > > > +                }
> > > > +            }
> > > >              return_ACPI_STATUS (AE_AML_BAD_RESOURCE_LENGTH);
> > > >          }
> > > >
> > > > Index: components/resources/rslist.c
> > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > --- components/resources/rslist.c       (revision 249624)
> > > > +++ components/resources/rslist.c       (working copy)
> > > > @@ -203,6 +203,11 @@
> > > >
> > > >          if (!Resource->Length)
> > > >          {
> > > > +            if (Resource->Type =3D=3D ACPI_RESOURCE_TYPE_END_TAG) {
> > > > +                printf("ACPI_RESOURCE_TYPE_END_TAG hack 2\n");
> > > > +                return_ACPI_STATUS (AE_OK);
> > > > +            }
> > > > +
> > > >              ACPI_ERROR ((AE_INFO,
> > > >                  "Invalid zero length descriptor in resource
> > list\n"));
> > > >              return_ACPI_STATUS (AE_AML_BAD_RESOURCE_LENGTH);
> > > >
> > > >
> > > >
> > > > --
> > > > Benjamin Lee
> > > > http://www.b1c1l1.com/
> >=20
> >=20
> >=20
> > --
> > Benjamin Lee
> > http://www.b1c1l1.com/



--=20
Benjamin Lee
http://www.b1c1l1.com/

--Sig_/4TzAPDF91p9L6qOcITCuvo3
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBAgAGBQJRcd+oAAoJEHpz6H1iC6qDxxoP/RWfeua86RWFOe7SBC4+pOlF
J2Juyg5/duAq3xGjFThL0AK2wXS8sDzF1Tp+lhHJAIHq4XwxgWyEdLDZDPBaV3hf
jLXsVl/Fsr3yDYHZtmPu+yhACDA6medayfqbJfFcBJ6vKkLtm51Phf/tsCgwmrfF
3sS8hysSDqLRPtwYeMgUoMzCYTt8AsvJY8gXIu8aSQfUYmGjpNNFFNUCcuGWKwRw
u1CZa1QCT0rqCOGyz77XwIEYsBAEESduCuNUuQK58CkERcGi+h+qIrm6LrS06/w5
vANFBXk/OTrJCnXfTGn7dF1zOyTOsyb8xHRkI5YXocM0wB6k9qBI3xaDwXhT53IX
1VI5XBFXv9YHrX6IHspXnsFlkwcj5Ftwuc97rliS+n80Aaorm3nhcaD1qvVxPrNi
ClpnlSKYdlEzXMuCuCsJfAMzjvdoxg+DmhDEVatnUQs5aXh2u/VLNQRESOXEAEVw
q2VkK+/86IFf8vH81TYbtrBjlOiZ7uYlHHRDEgMzTH7A0kxZ8ED5ckPSq7D6/YrV
Z6VMok3lKP8bLJFvzRhE3IDIAv+RHQZWyBrCCodZ0Cpoj37MuGXtmpKGkXpAAbEa
xt70Xf2qg87sOrj0Rn0Lw9ou75eHsBsVCnMKz7TboTr8zGphVG16aEYjX09ctI6c
sVXXTEsACedJXEwwnRhQ
=f4mP
-----END PGP SIGNATURE-----

--Sig_/4TzAPDF91p9L6qOcITCuvo3--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130419172200.45d8601b>