[PATCH] kexec based hibernation: a prototype of kexec multi-stage load
Eric W. Biederman
ebiederm at xmission.com
Thu May 15 23:33:41 EDT 2008
"Huang, Ying" <ying.huang at intel.com> writes:
> I think it is reasonable to enable jumping back and forth more than one
> time.
I'm not opposed. I just don't understand the utility yet.
> So the following should be possible:
>
> 1. Jump from A to B (actually jump to purgatory, trigger the boot of B)
> 2. Jump from B to A
> 3. Jump from A to B again (jump to the kexec_jump_back_entry of B)
(And we go through purgatory which remembers
the kexec_jump_back_entry of B)
> 4. Jump from B to A
> ...
>
> So it should be possible to get the re-entry point of kernel B in
> kexec_jump_back_entry of kernel A too. So I think in
> kexec_jump_back_entry, the caller's stack should be checked to get
> re-entry point of peer. And the stack state is different depend on where
> come from, from relocate_new_kernel() or return.
Yes.
Any conditional logic needs to be in purgatory or a similar trampoline.
Eric
More information about the kexec
mailing list