Thread (1 message) 1 message, 1 author, 2007-09-22

Re: Re: [RFC][PATCH 1/2 -mm] kexec based hibernation -v3: kexec jump

From: Rafael J. Wysocki <hidden>
Date: 2007-09-22 10:34:17

On Saturday, 22 September 2007 01:19, Kyle Moffett wrote:
On Sep 21, 2007, at 17:16:59, Jeremy Maitin-Shepard wrote:
quoted
"Rafael J. Wysocki" [off-list ref] writes:
quoted
The ACPI platform firmware is allowed to preserve information  
accross the hibernation-resume cycle, so this need not be the same.
All of my comments related to the case where S4 is not being used  
(instead the system is just powered off normally), and a boot  
kernel that does not initialize ACPI is used.  In that case, the  
ACPI platform firmware should not be able to distinguish a normal  
boot from a resume from hibernation.
I think that in order for this to work, there would need to be some  
ABI whereby the resume-ing kernel can pass its entire ACPI state and  
a bunch of other ACPI-related device details to the resume-ed kernel,  
which I believe it does not do at the moment.
In fact we don't need to do this.

The solution is not to touch ACPI in the boot kernel (ie. the one that loads
the image) and pass control to the image kernel.  This is how it's supposed
to work according to the spec, more or less (well, there are some ugly details
that need handling, like the restoration of the NVS area).
I believe that what causes problems is the ACPI state data that the kernel
stores is *different* between identical sequential boots, especially when
you add/remove/replace batteries, AC, etc.
Rather the ACPI state data that the platform firmware stores may be different,
depending on whether you enter S4 or S5 during "power off" and that determines
the interactions between the kernel and the firmware after the next boot.

Greetings,
Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help