[PATCH] kexec based hibernation: a prototype of kexec multi-stage load
Eric W. Biederman
ebiederm at xmission.com
Wed May 14 17:43:41 EDT 2008
"Huang, Ying" <ying.huang at intel.com> writes:
>> So, IMHO, for first simple implementation, we don't have to pass around
>> any data between kernels except entry point. (Please correct me if I am
>> wrong). Lets get that implementation in first and then we can get rest
>> of the pieces in place.
>
> Yes. Kernel entry/re-entry point is the only information need to be
> communicated between kernels for just switching between them. So we can
> focus on kexec jump patch firstly.
Then as a preliminary design let's plan on this.
- Pass the rentry point as the return address (using the C ABI).
We may want to load the stack pointer etc so we can act as
a direct entry point for new code.
- Look at passing a pointer to the mapping of pages that the kexec
trampoline uses in arg1 of the C ABI. Largely the format is defacto
fixed anyway because we need to pass the structure from C to
assembly.
Using the standard C ABI makes things much it much easier to pick
a calling convention, and to document it.
Eric
More information about the kexec
mailing list