Re: [PATCH] kexec based hibernation: a prototype of kexec multi-stage load

From: Eric W. Biederman
Date: Wed May 14 2008 - 17:50:36 EST


"Huang, Ying" <ying.huang@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/