[PATCH] kexec based hibernation: a prototype of kexec multi-stage load
ying.huang at intel.com
Tue May 13 23:37:55 EDT 2008
On Tue, 2008-05-13 at 22:56 -0400, Vivek Goyal wrote:
> > > Last time I tried the patches (V9) and kexec jump did not work for me. I
> > > was not getting timer interrupts in second kernel. Then I had to put
> > > LAPIC and IOAPIC in legacy mode and then at one way jump started working.
> > > I am not sure how the next kernel boots for you without putting APICs
> > > in legacy mode. (Yet to make returning back to original kernel work
> > > using V9).
> > Can normal kexec (without kexec jump) works without putting LAPIC and
> > IOAPIC in legacy mode? Does this mean we should put LAPIC and IOAPIC
> > into legacy mode before kexec and restore them after?
> We do put LAPIC and IOAPIC in legacy mode in normal kexec. Look at
> disable_IO_APIC() in native_machine_shutdown(). So I think we shall
> have to do the same thing in kexec jump code too.
OK. I will look at this.
> I went through above mail thread again where we were discussing what all
> information need to be passed between kernels.
> Last time we enumerated three things.
> - kernel entry/re-entry point for switch between kernels.
> - backup pages map for core filtering
> - Probably ELF core notes for saving hibernated image.
> I think if we just implement the functionality so that one can switch
> back and forth between kernels (no hibernated image saving),then we probably
> need to pass around only kernel entry/re-entry point and nothing else and in
> your patches I think you are already doing using %edi.
> 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.
More information about the kexec