Re: [RFC][PATCH 3/4] swsusp: Introduce restore platform operations

Rafael J. Wysocki
2007-05-21T23:50:30Z

On Tuesday, 22 May 2007 01:38, Pavel Machek wrote:
> Hi!
>
> > From: Rafael J. Wysocki <rjw@sisk.pl>
> >
> > At least on some machines it is necessary to prepare the ACPI firmware for the
> > restoration of the system memory state from the hibernation image if the
> > "platform" mode of hibernation has been used. Namely, in that cases we need to
> > disable the GPEs before replacing the "boot" kernel with the "frozen" kernel.
> > After the restore they will be re-enabled by hibernation_ops->finish(), but if
> > the restore fails, they have to be re-enabled by the restore code explicitly.
> >
> > For this purpose we can introduce two additional hibernation operations, called
> > pre_restore() and restore_cleanup() and call them from the restore code path.
> > Still, they should be called if the "platform" mode of hibernation has been
> > used, so we need to pass the information about the hibernation mode from the
> > "frozen" kernel to the "boot" kernel in the image header.
>
> I don't quite like this one... passing flags from frozen to boot
> kernel makes it more complex.
>
> Is it really neccessary?

I think so.

> Could we do the same steps as the first thing when the frozen kernel
> wakes up?

At that time we do hibernate_ops->finish() which enables the GPEs anyway
in the right place.

> What machines does it fix?

http://bugzilla.kernel.org/show_bug.cgi?id=7887

Greetings,
Rafael