Re: [linux-pm] [RFC PATCH 0/4] save and restore ACPI NVS memoryduring hibernation

From: Pavel Machek
Date: Fri Jul 11 2008 - 16:52:24 EST


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...
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/