summaryrefslogtreecommitdiff
path: root/kexec/arch/i386/kexec-x86-common.c
diff options
context:
space:
mode:
authorHuang Ying <ying.huang@intel.com>2008-10-29 11:24:25 +0800
committerSimon Horman <horms@verge.net.au>2008-10-31 12:58:16 +1100
commitceb04ae1223ba5cdd40df744aa73a32b2cc7d879 (patch)
tree993024edfe07b9cd7150fb2131175104e4948ad4 /kexec/arch/i386/kexec-x86-common.c
parent802a8a5e396e06a514251c44454c982bff3c5073 (diff)
kexec jump support for kexec-tools
To support memory backup/restore an option named --load-preserve-context is added to kexec. When it is specified toggether with --mem-max, most segments for crash dump support are loaded, and the memory range between mem_min to mem_max which has no segments loaded are loaded as backup segments. To support jump back from kexeced, options named --load-jump-back-helper and --entry are added to load a helper image with specified entry to jump back. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/i386/kexec-x86-common.c')
-rw-r--r--kexec/arch/i386/kexec-x86-common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kexec/arch/i386/kexec-x86-common.c b/kexec/arch/i386/kexec-x86-common.c
index 4533425..00c2be3 100644
--- a/kexec/arch/i386/kexec-x86-common.c
+++ b/kexec/arch/i386/kexec-x86-common.c
@@ -174,7 +174,8 @@ int get_memory_ranges(struct memory_range **range, int *ranges,
* Override user values only if kernel exported values are
* subset of user defined values.
*/
- if (kexec_flags & KEXEC_ON_CRASH) {
+ if ((kexec_flags & KEXEC_ON_CRASH) &&
+ !(kexec_flags & KEXEC_PRESERVE_CONTEXT)) {
unsigned long long start, end;
ret = parse_iomem_single("Crash kernel\n", &start, &end);