Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jul 2003 14:51:54 -0700 (PDT)
From:      Nate Lawson <nate@root.org>
To:        Peter Wemm <peter@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/i386/acpica acpi_wakeup.c
Message-ID:  <20030721144902.R34834@root.org>
In-Reply-To: <20030721205935.A843937B488@hub.freebsd.org>
References:  <20030721205935.A843937B488@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 21 Jul 2003, Peter Wemm wrote:
>   Modified files:
>     sys/i386/acpica      acpi_wakeup.c
>   Log:
>   Commit Ian Dowse's workaround for acpi resume resetting after the
>   LAZY_SWITCH changes.  He pointed out the acpi code sets up an identity
>   mapping in the current vmspace and that got messed up by the %cr3 being
>   out of sync with the current page directory.  As a workaround, restore
>   %cr3 across the sleep/resume.  A more complete fix would be to undo the
>   lazy state and clear the pm_active bit from the borrowed pmap, but this
>   works and people are currently hurting.  I'll clean this up.
>   This is mostly Ian's patch, plus a PAE tweak from me.

Thank you for following up on this.  As I asked on the Usenix conf. call,
are there any other registers that are being missed in the save/restore?
There are some other aging code in this wakeup code that may not fit with
our changing register models.

-Nate



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