Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jun 2003 15:58:56 +0200
From:      Stijn Hoop <stijn@win.tue.nl>
To:        Thorsten Greiner <thorsten.greiner@web.de>
Cc:        freebsd-current@freebsd.org
Subject:   Re: ACPI Regression in -CURRENT?
Message-ID:  <20030610135856.GQ12096@pcwin002.win.tue.nl>
In-Reply-To: <200306101342.h5ADgHQ26446@mailgate5.cinetic.de>
References:  <200306101342.h5ADgHQ26446@mailgate5.cinetic.de>

next in thread | previous in thread | raw e-mail | index | archive | help

--KjSGHOmKKB2VUiQn
Content-Type: multipart/mixed; boundary="apbmkPN6Hu/1dI3g"
Content-Disposition: inline


--apbmkPN6Hu/1dI3g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Thorsten,

On Tue, Jun 10, 2003 at 03:42:18PM +0200, Thorsten Greiner wrote:
> some time ago several people (including me) reported ACPI related problems
> on various Dell laptops resulting in error messages of the form
>=20
>         ACPI-0293: *** Warning: Buffer created with zero length in AML
>=20
> During the 5.1 release process these problems have been temporarily fixed.
> At least I have a 5.1-BETA kernel built on June 1st which does not exhibit
> these problems.
>=20
> Today I tried a 5.1-CURRENT kernel and found that these problems have
> reappeared. This made me wonder wether this is an intended behaviour or a
> regression.

This is due to the Dell laptops having an invalid ACPI table in the BIOS.
The only way to avoid these messages is to tell FreeBSD ACPI to override
the vendor supplied table with a correct one.

Mark Santcroos developed a patch which worked on his C640 and my Inspiron
4150, which you can find attached. Here are the steps to use it:

# cd /usr/ports/devel/acpicatools && make install
# acpidump -o insp4150.dsdt > insp4150.asl
# iasl -d insp4150.dsdt
# patch -p0 < insp4150.patch
# iasl insp4150.dsl
# cp DSDT.aml /boot/acpi_dsdt.aml
# vi /boot/loader.conf

add the lines

acpi_dsdt_load=3D"YES"
acpi_dsdt_name=3D"/boot/acpi_dsdt.aml"

Then reboot.

You might need to improvise, and/or edit the patch headers to specify the f=
ile
to patch. I'm recalling this procedure from memory / older emails, but this
should be the gist of it.

HTH,

--Stijn

--=20
An Orb is for life, not just for Christmas.

--apbmkPN6Hu/1dI3g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="dell.patch"
Content-Transfer-Encoding: quoted-printable

--- insp4150_orig.asl	Wed May 14 02:07:27 2003
+++ insp4150.asl	Tue May 27 22:18:14 2003
@@ -120,9 +120,9 @@
=20
     Method (SXX5, 2, NotSerialized)
     {
-        If (LLess (Arg1, SizeOf (Arg0)))
+        If (LLess (Arg1, SizeOf (DerefOf(Arg0))))
         {
-            CreateByteField (Arg0, Arg1, SX20)
+            CreateByteField (DerefOf(Arg0), Arg1, SX20)
             SXX6 (0x7C, SX20)
         }
     }
@@ -133,16 +133,16 @@
         Store (0x00, Local0)
         While (LLess (Local0, SXX2))
         {
-            SXX5 (SXX0, Local0)
+            SXX5 (RefOf(SXX0), Local0)
             Increment (Local0)
         }
     }
=20
     Method (SXX8, 2, NotSerialized)
     {
-        If (LLess (Arg1, SizeOf (Arg0)))
+        If (LLess (Arg1, SizeOf (DerefOf (Arg0))))
         {
-            CreateByteField (Arg0, Arg1, SX20)
+            CreateByteField (DerefOf(Arg0), Arg1, SX20)
             Store (SXX6 (0x7D, 0x00), SX20)
         }
     }
@@ -153,7 +153,7 @@
         While (LLess (Local0, SXX3))
         {
             Add (SXX2, Local0, Local1)
-            SXX8 (SXX0, Local1)
+            SXX8 (RefOf (SXX0), Local1)
             Increment (Local0)
         }
     }
@@ -217,9 +217,9 @@
=20
     Method (SX43, 2, NotSerialized)
     {
-        If (LLess (Arg1, SizeOf (Arg0)))
+        If (LLess (Arg1, SizeOf (DerefOf(Arg0))))
         {
-            CreateByteField (Arg0, Arg1, SX20)
+            CreateByteField (DerefOf(Arg0), Arg1, SX20)
             Store (SX40 (), SX20)
         }
     }
@@ -238,7 +238,7 @@
     {
         Store (SX40 (), Local0)
         Name (SX23, Buffer (Local0) {})
-        SX44 (SX23, Local0)
+        SX44 (Refof(SX23), Local0)
         Return (SX23)
     }
=20
@@ -277,7 +277,7 @@
         SX30 (Arg0)
         SX11 ()
         Name (PGET, Buffer (SXX3) {})
-        SX44 (PGET, SXX3)
+        SX44 (RefOf(PGET), SXX3)
         SX12 ()
         Return (PGET)
     }

--apbmkPN6Hu/1dI3g--

--KjSGHOmKKB2VUiQn
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (FreeBSD)

iD8DBQE+5eQgY3r/tLQmfWcRApVeAJ9k0VwZZ8pPqqFGCUC48DAAXCXhawCfWTgQ
IkJjfSxYYrxrHFWN2vVUamc=
=SAT/
-----END PGP SIGNATURE-----

--KjSGHOmKKB2VUiQn--



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