diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-06-22 00:02:20 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 06:50:13 -0400 |
commit | 17b4cceb1feb2a8865ce47064dd3bd446063a5d5 (patch) | |
tree | acdc963f0300a786a2a86eeb451b6913087b58a0 /arch | |
parent | ce97c40e28223c148e142bda7af48fd0f27c81f9 (diff) |
x86: move elfcorehdr parsing to setup.c
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/setup.c | 19 | ||||
-rw-r--r-- | arch/x86/kernel/setup_32.c | 16 |
2 files changed, 19 insertions, 16 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 3b9ec81ba4fb..5497fb9b00a0 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/bootmem.h> | 4 | #include <linux/bootmem.h> |
5 | #include <linux/percpu.h> | 5 | #include <linux/percpu.h> |
6 | #include <linux/kexec.h> | 6 | #include <linux/kexec.h> |
7 | #include <linux/crash_dump.h> | ||
7 | #include <asm/smp.h> | 8 | #include <asm/smp.h> |
8 | #include <asm/percpu.h> | 9 | #include <asm/percpu.h> |
9 | #include <asm/sections.h> | 10 | #include <asm/sections.h> |
@@ -501,3 +502,21 @@ void __init reserve_standard_io_resources(void) | |||
501 | 502 | ||
502 | } | 503 | } |
503 | 504 | ||
505 | #ifdef CONFIG_PROC_VMCORE | ||
506 | /* elfcorehdr= specifies the location of elf core header | ||
507 | * stored by the crashed kernel. This option will be passed | ||
508 | * by kexec loader to the capture kernel. | ||
509 | */ | ||
510 | static int __init setup_elfcorehdr(char *arg) | ||
511 | { | ||
512 | char *end; | ||
513 | if (!arg) | ||
514 | return -EINVAL; | ||
515 | elfcorehdr_addr = memparse(arg, &end); | ||
516 | return end > arg ? 0 : -EINVAL; | ||
517 | } | ||
518 | early_param("elfcorehdr", setup_elfcorehdr); | ||
519 | #endif | ||
520 | |||
521 | |||
522 | |||
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index 2574ec8234c7..d24ac268523f 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c | |||
@@ -42,7 +42,6 @@ | |||
42 | #include <linux/iscsi_ibft.h> | 42 | #include <linux/iscsi_ibft.h> |
43 | #include <linux/nodemask.h> | 43 | #include <linux/nodemask.h> |
44 | #include <linux/kexec.h> | 44 | #include <linux/kexec.h> |
45 | #include <linux/crash_dump.h> | ||
46 | #include <linux/dmi.h> | 45 | #include <linux/dmi.h> |
47 | #include <linux/pfn.h> | 46 | #include <linux/pfn.h> |
48 | #include <linux/pci.h> | 47 | #include <linux/pci.h> |
@@ -194,21 +193,6 @@ static inline void copy_edd(void) | |||
194 | } | 193 | } |
195 | #endif | 194 | #endif |
196 | 195 | ||
197 | #ifdef CONFIG_PROC_VMCORE | ||
198 | /* elfcorehdr= specifies the location of elf core header | ||
199 | * stored by the crashed kernel. | ||
200 | */ | ||
201 | static int __init parse_elfcorehdr(char *arg) | ||
202 | { | ||
203 | if (!arg) | ||
204 | return -EINVAL; | ||
205 | |||
206 | elfcorehdr_addr = memparse(arg, &arg); | ||
207 | return 0; | ||
208 | } | ||
209 | early_param("elfcorehdr", parse_elfcorehdr); | ||
210 | #endif /* CONFIG_PROC_VMCORE */ | ||
211 | |||
212 | /* | 196 | /* |
213 | * highmem=size forces highmem to be exactly 'size' bytes. | 197 | * highmem=size forces highmem to be exactly 'size' bytes. |
214 | * This works even on boxes that have no highmem otherwise. | 198 | * This works even on boxes that have no highmem otherwise. |