Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

Alan Stern
2007-07-13T15:50:25Z

On Fri, 13 Jul 2007, Rafael J. Wysocki wrote:

> Okay, I have thought it through and I think that, as an initial step, we can do
> something like this:
>
> - preload the image-saving kernel before hibernation
> - in the hibernation code path replace device_suspend() with the shutting down of
> all devices without unregistering them (not very nice, but should be sufficient
> for a while)
> - when we've called device_power_down() and save_processor_state(), jump to
> the image-saving kernel and let it run
> - make the image-saving kernel set up everything, save the image without
> starting any user space (we may use the existing image-saving code for this
> purpose, with some modifications) and power off the system (or make it enter
> S4)
> - use the existing restoration code to load the image and jump to the
> hibernated kernel
> - in the restore code patch replace device_resume() with the reprobing of all
> devices.
>
> Comments?

I doubt that re-probing devices will work. The probe routine won't
expect there to be any registered children, so it will try to
re-register them.

On the other hand, post_restore methods could be written to expect
something like this.

Alan Stern