login
Header Space

 
 

Re: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Vivek Goyal <vgoyal@...>
Cc: Eric W. Biederman <ebiederm@...>, Pavel Machek <pavel@...>, <nigel@...>, Rafael J. Wysocki <rjw@...>, Andrew Morton <akpm@...>, Jeremy Maitin-Shepard <jbms@...>, <linux-pm@...>, Kexec Mailing List <kexec@...>, <linux-kernel@...>
Date: Tuesday, December 11, 2007 - 4:51 am

On Mon, 2007-12-10 at 14:55 -0500, Vivek Goyal wrote:

Now, the jumping back is used to implement "kexec based hibernation",
which uses kexec/kdump to save the memory image of hibernated kernel
during hibernating, and uses /dev/oldmem to restore the memory image of
hibernated kernel and jump back to the hibernated kernel to continue
run.

The other usage model maybe include:

- Dump the system memory image then continue to run, that is, get some
memory snapshot of system during system running.
- Cooperative multi-task of different OS. You can load another OS (B)
from current OS (A), and jump between the two OSes upon needed.
- Call some code (such as firmware, etc) in physical mode. 


All dynamic memory required for second kernel should be "loaded" by
sys_kexec_load in first kernel. For example, not only the Linux kernel
should be loaded at 1M, the memory 0~16M (exclude kernel) should be
"loaded" (all zero) by /sbin/kexec via sys_kexec_load too.


The current size is 0x2d7 (727). I got it though objdump,
machine_crash_shutdown - relocate_page. I think we have enough space.


The entry point is filled by assembler code in reloate_kernel_32.S upon
jumping back. You can find it by "grep ENTRY relocate_kernel_32.S".


There is no user of kexec_call() now. But I think it may be useful as a
physical mode caller for some firmware code.

Best Regards,
Huang Ying
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump, Eric W. Biederman, (Mon Dec 10, 10:25 pm)
Re: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump, Eric W. Biederman, (Tue Dec 11, 5:27 am)
Re: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump, Huang, Ying, (Tue Dec 11, 4:51 am)
Re: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump, Rafael J. Wysocki, (Sat Dec 8, 8:19 pm)
Re: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump, Eric W. Biederman, (Sat Dec 8, 9:06 pm)
speck-geostationary