"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