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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday, 22 May 2007 01:38, Pavel Machek wrote:
> Hi!
> 
> > From: Rafael J. Wysocki <rjw@xxxxxxx>
> > 
> > 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
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux