diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ia64/kernel/crash_dump.c | 4 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 9 | ||||
-rw-r--r-- | arch/powerpc/kernel/crash_dump.c | 10 | ||||
-rw-r--r-- | arch/sh/kernel/crash_dump.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/crash_dump_32.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/crash_dump_64.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/setup.c | 8 |
7 files changed, 36 insertions, 4 deletions
diff --git a/arch/ia64/kernel/crash_dump.c b/arch/ia64/kernel/crash_dump.c index da60e90eeeb1..23e91290e41f 100644 --- a/arch/ia64/kernel/crash_dump.c +++ b/arch/ia64/kernel/crash_dump.c | |||
@@ -8,10 +8,14 @@ | |||
8 | 8 | ||
9 | #include <linux/errno.h> | 9 | #include <linux/errno.h> |
10 | #include <linux/types.h> | 10 | #include <linux/types.h> |
11 | #include <linux/crash_dump.h> | ||
11 | 12 | ||
12 | #include <asm/page.h> | 13 | #include <asm/page.h> |
13 | #include <asm/uaccess.h> | 14 | #include <asm/uaccess.h> |
14 | 15 | ||
16 | /* Stores the physical address of elf header of crash image. */ | ||
17 | unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; | ||
18 | |||
15 | /** | 19 | /** |
16 | * copy_oldmem_page - copy one page from "oldmem" | 20 | * copy_oldmem_page - copy one page from "oldmem" |
17 | * @pfn: page frame number to be copied | 21 | * @pfn: page frame number to be copied |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index de636b215677..a0286be6c235 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -478,7 +478,12 @@ static __init int setup_nomca(char *s) | |||
478 | } | 478 | } |
479 | early_param("nomca", setup_nomca); | 479 | early_param("nomca", setup_nomca); |
480 | 480 | ||
481 | #ifdef CONFIG_PROC_VMCORE | 481 | /* |
482 | * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by | ||
483 | * is_kdump_kernel() to determine if we are booting after a panic. Hence | ||
484 | * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE. | ||
485 | */ | ||
486 | #ifdef CONFIG_CRASH_DUMP | ||
482 | /* elfcorehdr= specifies the location of elf core header | 487 | /* elfcorehdr= specifies the location of elf core header |
483 | * stored by the crashed kernel. | 488 | * stored by the crashed kernel. |
484 | */ | 489 | */ |
@@ -491,7 +496,9 @@ static int __init parse_elfcorehdr(char *arg) | |||
491 | return 0; | 496 | return 0; |
492 | } | 497 | } |
493 | early_param("elfcorehdr", parse_elfcorehdr); | 498 | early_param("elfcorehdr", parse_elfcorehdr); |
499 | #endif | ||
494 | 500 | ||
501 | #ifdef CONFIG_PROC_VMCORE | ||
495 | int __init reserve_elfcorehdr(unsigned long *start, unsigned long *end) | 502 | int __init reserve_elfcorehdr(unsigned long *start, unsigned long *end) |
496 | { | 503 | { |
497 | unsigned long length; | 504 | unsigned long length; |
diff --git a/arch/powerpc/kernel/crash_dump.c b/arch/powerpc/kernel/crash_dump.c index a323c9b32ee1..97e056379728 100644 --- a/arch/powerpc/kernel/crash_dump.c +++ b/arch/powerpc/kernel/crash_dump.c | |||
@@ -27,6 +27,9 @@ | |||
27 | #define DBG(fmt...) | 27 | #define DBG(fmt...) |
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | /* Stores the physical address of elf header of crash image. */ | ||
31 | unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; | ||
32 | |||
30 | void __init reserve_kdump_trampoline(void) | 33 | void __init reserve_kdump_trampoline(void) |
31 | { | 34 | { |
32 | lmb_reserve(0, KDUMP_RESERVE_LIMIT); | 35 | lmb_reserve(0, KDUMP_RESERVE_LIMIT); |
@@ -66,7 +69,11 @@ void __init setup_kdump_trampoline(void) | |||
66 | DBG(" <- setup_kdump_trampoline()\n"); | 69 | DBG(" <- setup_kdump_trampoline()\n"); |
67 | } | 70 | } |
68 | 71 | ||
69 | #ifdef CONFIG_PROC_VMCORE | 72 | /* |
73 | * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by | ||
74 | * is_kdump_kernel() to determine if we are booting after a panic. Hence | ||
75 | * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE. | ||
76 | */ | ||
70 | static int __init parse_elfcorehdr(char *p) | 77 | static int __init parse_elfcorehdr(char *p) |
71 | { | 78 | { |
72 | if (p) | 79 | if (p) |
@@ -75,7 +82,6 @@ static int __init parse_elfcorehdr(char *p) | |||
75 | return 1; | 82 | return 1; |
76 | } | 83 | } |
77 | __setup("elfcorehdr=", parse_elfcorehdr); | 84 | __setup("elfcorehdr=", parse_elfcorehdr); |
78 | #endif | ||
79 | 85 | ||
80 | static int __init parse_savemaxmem(char *p) | 86 | static int __init parse_savemaxmem(char *p) |
81 | { | 87 | { |
diff --git a/arch/sh/kernel/crash_dump.c b/arch/sh/kernel/crash_dump.c index 4a2ecbe27d8e..95d216255565 100644 --- a/arch/sh/kernel/crash_dump.c +++ b/arch/sh/kernel/crash_dump.c | |||
@@ -10,6 +10,9 @@ | |||
10 | #include <linux/io.h> | 10 | #include <linux/io.h> |
11 | #include <asm/uaccess.h> | 11 | #include <asm/uaccess.h> |
12 | 12 | ||
13 | /* Stores the physical address of elf header of crash image. */ | ||
14 | unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; | ||
15 | |||
13 | /** | 16 | /** |
14 | * copy_oldmem_page - copy one page from "oldmem" | 17 | * copy_oldmem_page - copy one page from "oldmem" |
15 | * @pfn: page frame number to be copied | 18 | * @pfn: page frame number to be copied |
diff --git a/arch/x86/kernel/crash_dump_32.c b/arch/x86/kernel/crash_dump_32.c index 72d0c56c1b48..f7cdb3b457aa 100644 --- a/arch/x86/kernel/crash_dump_32.c +++ b/arch/x86/kernel/crash_dump_32.c | |||
@@ -13,6 +13,9 @@ | |||
13 | 13 | ||
14 | static void *kdump_buf_page; | 14 | static void *kdump_buf_page; |
15 | 15 | ||
16 | /* Stores the physical address of elf header of crash image. */ | ||
17 | unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; | ||
18 | |||
16 | /** | 19 | /** |
17 | * copy_oldmem_page - copy one page from "oldmem" | 20 | * copy_oldmem_page - copy one page from "oldmem" |
18 | * @pfn: page frame number to be copied | 21 | * @pfn: page frame number to be copied |
diff --git a/arch/x86/kernel/crash_dump_64.c b/arch/x86/kernel/crash_dump_64.c index e90a60ef10c2..045b36cada65 100644 --- a/arch/x86/kernel/crash_dump_64.c +++ b/arch/x86/kernel/crash_dump_64.c | |||
@@ -10,6 +10,9 @@ | |||
10 | #include <linux/uaccess.h> | 10 | #include <linux/uaccess.h> |
11 | #include <linux/io.h> | 11 | #include <linux/io.h> |
12 | 12 | ||
13 | /* Stores the physical address of elf header of crash image. */ | ||
14 | unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; | ||
15 | |||
13 | /** | 16 | /** |
14 | * copy_oldmem_page - copy one page from "oldmem" | 17 | * copy_oldmem_page - copy one page from "oldmem" |
15 | * @pfn: page frame number to be copied | 18 | * @pfn: page frame number to be copied |
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 2255782e8d4b..b2c97874ec0f 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -561,7 +561,13 @@ static void __init reserve_standard_io_resources(void) | |||
561 | 561 | ||
562 | } | 562 | } |
563 | 563 | ||
564 | #ifdef CONFIG_PROC_VMCORE | 564 | /* |
565 | * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by | ||
566 | * is_kdump_kernel() to determine if we are booting after a panic. Hence | ||
567 | * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE. | ||
568 | */ | ||
569 | |||
570 | #ifdef CONFIG_CRASH_DUMP | ||
565 | /* elfcorehdr= specifies the location of elf core header | 571 | /* elfcorehdr= specifies the location of elf core header |
566 | * stored by the crashed kernel. This option will be passed | 572 | * stored by the crashed kernel. This option will be passed |
567 | * by kexec loader to the capture kernel. | 573 | * by kexec loader to the capture kernel. |