[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