Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Dec 2004 19:04:46 +0100
From:      Ulrich Spoerlein <q@uni.de>
To:        Nate Lawson <nate@root.org>
Cc:        acpi@FreeBSD.org
Subject:   Re: suspend/resume improved?
Message-ID:  <20041210180446.GA768@galgenberg.net>
In-Reply-To: <41B76AF2.3040204@root.org>
References:  <41B4E577.9060502@root.org> <41B50754.10604@centtech.com> <41B50C12.6070103@root.org> <20041208095845.GA896@galgenberg.net> <41B76AF2.3040204@root.org>

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

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

On Wed, 08.12.2004 at 12:58:26 -0800, Nate Lawson wrote:
> Add an infinite loop at various points in the suspend process until it=20
> hangs but doesn't reset.  Start with the end of the first function below=
=20
> and work your way backwards.  Once you identify the exact place the=20
> reset occurs, we can figure out why.  Use boot -s to keep from having to=
=20
> fsck on each reset or hang.
>=20
> AcpiEnterSleepState():sys/contrib/dev/acpica/hwsleep.c

Line 444 is the culprit:
    ACPI_FLUSH_CPU_CACHE ();

    Status =3D AcpiHwRegisterWrite (ACPI_MTX_DO_NOT_LOCK, ACPI_REGISTER_PM1=
A_CONTROL, PM1AControl);
    if (ACPI_FAILURE (Status))
    {
        return_ACPI_STATUS (Status);
    }

Putting the loop before AcpiHwRegisterWrite will enter infinite loop,
putting it after it -> Reset

Running with ACPI_DEBUG, this is the last thing I see (hand transcribed)

acpi_lid0: wake_prep enabled for \_SB.LID (S3)
acpi_button0: wake_prep enabled for \_SB.PBTN (S3)
unknown: wake_prep disabled wake for \_SB.PCI0.USB0 (S3)
unknown: wake_prep disabled wake for \_SB.PCI0.USB1 (S3)
unknown: wake_prep disabled wake for \_SB.PCI0.USB2 (S3)
unknown: wake_prep disabled wake for \_SB.PCI0.USB3 (S3)
=3D=3D acpi_printcpu() debug dump =3D=3D
gdt[0077:c0610620] idt[07ff:c06109e0] ldt[0030] tr[0020] efl[00000092]
eax[00000001] ebx[c0e31080] ecx[c0da569c] edx[0009e227]
esi[00000000] edi[00000003] ebp[c5c72af8] esp[c5c72adc]
cr0[8005003b] cr2[08049ed4] cr3[03e25000] cr4[00000691]
cs[0008] ds[0010] es[0010] fs[0018] gs[008f] ss[0010]

ASL and DSDT can be found here
http://www.galgenberg.net/~q/freebsd/

Ulrich Spoerlein
--=20
 PGP Key ID: F0DB9F44				Encrypted mail welcome!
Fingerprint: F1CE D062 0CA9 ADE3 349B  2FE8 980A C6B5 F0DB 9F44
Ok, which part of "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn."
didn't you understand?

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

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

iD8DBQFBueU+mArGtfDbn0QRArNYAJsHnryDXZIoG3KTv36p1Fq+5G1eEQCfZ5TY
rr+hYZztZO0bYOC0Hw7Lyp8=
=jRlY
-----END PGP SIGNATURE-----

--tKW2IUtsqtDRztdT--



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