From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Pavel Machek <pavel@suse.cz>
Cc: Zhang Rui <rui.zhang@intel.com>,
linux-pm <linux-pm@lists.linux-foundation.org>,
linux-acpi <linux-acpi@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [linux-pm] [RFC PATCH 0/4] save and restore ACPI NVS memory during hibernation
Date: Fri, 11 Jul 2008 22:59:55 +0200 [thread overview]
Message-ID: <200807112259.56263.rjw@sisk.pl> (raw)
In-Reply-To: <20080711205253.GI6843@elf.ucw.cz>
On Friday, 11 of July 2008, Pavel Machek wrote:
> On Fri 2008-07-11 21:18:34, Rafael J. Wysocki wrote:
> > On Friday, 11 of July 2008, Pavel Machek wrote:
> > > On Wed 2008-07-09 21:37:18, Rafael J. Wysocki wrote:
> > > > On Tuesday, 8 of July 2008, Pavel Machek wrote:
> > > > > Hi!
> > > > >
> > > > > > According to the ACPI spec, ACPI NVS memory region is required to
> > > > > > be saved/restored by OS during hibernation.
> > > > > >
> > > > > > Section 15.3.2 ACPI Spec 3.0b,
> > > > > > "OSPM will call the _PTS control method some time before entering
> > > > > > a sleeping state, to allow the platform???s AML code to update
> > > > > > this memory image before entering the sleeping state.
> > > > > > After the system awakes from an S4 state, OSPM will restore this
> > > > > > memory area and call the _WAK control method to enable the BIOS
> > > > > > to reclaim its memory image."
> > > > > >
> > > > > > This patch set add the mechanism to save/restore ACPI NVS memory
> > > > > > during hibernation.
> > > > > >
> > > > > > Patch 01: call platform_begin before swsusp_shrink_memory.
> > > > > > So that we can allocate enough pages for ACPI NVS memory
> > > > > > before shrink the memory.
> > > > >
> > > > > Why is it neccessary to allocate memory for a copy? We should be able
> > > > > to save ACPI NVS area same way we are saving kernel pages, no?
> > > >
> > > > Because we want to restore it from the hibernated kernel (when it gets control
> > > > back again).
> > >
> > > Why is that important? So we can run some ACPI methods from hibernated
> > > kernel before restoring it?
> >
> > We're supposed to restore it right prior to executing _WAK, which is after
> > we've executed _BFS. This is a bit theoretical, because no one seems to
> > actaully implement _BFS, but well.
>
> Could we just call _BFS from the "loading" kernel, instead? That would
> save us that copying code...
I'd prefer not to, because that would require the boot kernel to support ACPI,
which need not (and in fact should not IMO) be the case at present.
Anyway, we'd have to either copy the NVS data into memory which is mapped and
can be saved, or to map the NVS area in order to save/restore it, which I
wouldn't like to do.
Thanks,
Rafael
next prev parent reply other threads:[~2008-07-11 20:57 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-03 2:24 [RFC PATCH 0/4] save and restore ACPI NVS memory during hibernation Zhang Rui
2008-07-08 19:37 ` [linux-pm] " Pavel Machek
2008-07-09 19:37 ` Rafael J. Wysocki
2008-07-11 18:51 ` Pavel Machek
2008-07-11 19:18 ` Rafael J. Wysocki
2008-07-11 20:52 ` Pavel Machek
2008-07-11 20:59 ` Rafael J. Wysocki [this message]
2008-07-11 21:56 ` Yinghai Lu
2008-07-12 0:40 ` Rafael J. Wysocki
2008-07-14 6:26 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200807112259.56263.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=pavel@suse.cz \
--cc=rui.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox