diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-05-10 22:53:11 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-05-10 22:53:11 -0400 |
commit | 15f2a7967a46c7fab579ab88b9f1e0c7f78ac495 (patch) | |
tree | 98d9638bc382de772a6cfd0a4d8b697e3e10ff48 | |
parent | 4f615d575c17195f975cf8314be54f362d859a3f (diff) | |
parent | 7aed3b34fb0a98e89d0e999f5833ceebdb3876b9 (diff) |
Merge branches 'sh/clkfwk' and 'sh/kexec'
-rw-r--r-- | arch/sh/Kconfig | 2 | ||||
-rw-r--r-- | arch/sh/kernel/crash_dump.c | 20 | ||||
-rw-r--r-- | arch/sh/kernel/machine_kexec.c | 3 | ||||
-rw-r--r-- | arch/sh/kernel/setup.c | 19 |
4 files changed, 23 insertions, 21 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index c2325bd48fd3..38611bcdf74c 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -633,7 +633,7 @@ config KEXEC | |||
633 | 633 | ||
634 | config CRASH_DUMP | 634 | config CRASH_DUMP |
635 | bool "kernel crash dumps (EXPERIMENTAL)" | 635 | bool "kernel crash dumps (EXPERIMENTAL)" |
636 | depends on SUPERH32 && EXPERIMENTAL | 636 | depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP |
637 | help | 637 | help |
638 | Generate crash dump after being started by kexec. | 638 | Generate crash dump after being started by kexec. |
639 | This should be normally only set in special crash dump kernels | 639 | This should be normally only set in special crash dump kernels |
diff --git a/arch/sh/kernel/crash_dump.c b/arch/sh/kernel/crash_dump.c index 95d216255565..37c97d444576 100644 --- a/arch/sh/kernel/crash_dump.c +++ b/arch/sh/kernel/crash_dump.c | |||
@@ -4,7 +4,6 @@ | |||
4 | * Created by: Hariprasad Nellitheertha (hari@in.ibm.com) | 4 | * Created by: Hariprasad Nellitheertha (hari@in.ibm.com) |
5 | * Copyright (C) IBM Corporation, 2004. All rights reserved | 5 | * Copyright (C) IBM Corporation, 2004. All rights reserved |
6 | */ | 6 | */ |
7 | |||
8 | #include <linux/errno.h> | 7 | #include <linux/errno.h> |
9 | #include <linux/crash_dump.h> | 8 | #include <linux/crash_dump.h> |
10 | #include <linux/io.h> | 9 | #include <linux/io.h> |
@@ -13,6 +12,25 @@ | |||
13 | /* Stores the physical address of elf header of crash image. */ | 12 | /* Stores the physical address of elf header of crash image. */ |
14 | unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; | 13 | unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; |
15 | 14 | ||
15 | /* | ||
16 | * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by | ||
17 | * is_kdump_kernel() to determine if we are booting after a panic. Hence | ||
18 | * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE. | ||
19 | * | ||
20 | * elfcorehdr= specifies the location of elf core header | ||
21 | * stored by the crashed kernel. | ||
22 | */ | ||
23 | static int __init parse_elfcorehdr(char *arg) | ||
24 | { | ||
25 | if (!arg) | ||
26 | return -EINVAL; | ||
27 | |||
28 | elfcorehdr_addr = memparse(arg, &arg); | ||
29 | |||
30 | return 0; | ||
31 | } | ||
32 | early_param("elfcorehdr", parse_elfcorehdr); | ||
33 | |||
16 | /** | 34 | /** |
17 | * copy_oldmem_page - copy one page from "oldmem" | 35 | * copy_oldmem_page - copy one page from "oldmem" |
18 | * @pfn: page frame number to be copied | 36 | * @pfn: page frame number to be copied |
diff --git a/arch/sh/kernel/machine_kexec.c b/arch/sh/kernel/machine_kexec.c index 7672141c841b..0e90c7f9564f 100644 --- a/arch/sh/kernel/machine_kexec.c +++ b/arch/sh/kernel/machine_kexec.c | |||
@@ -147,4 +147,7 @@ void arch_crash_save_vmcoreinfo(void) | |||
147 | VMCOREINFO_SYMBOL(node_data); | 147 | VMCOREINFO_SYMBOL(node_data); |
148 | VMCOREINFO_LENGTH(node_data, MAX_NUMNODES); | 148 | VMCOREINFO_LENGTH(node_data, MAX_NUMNODES); |
149 | #endif | 149 | #endif |
150 | #ifdef CONFIG_X2TLB | ||
151 | VMCOREINFO_CONFIG(X2TLB); | ||
152 | #endif | ||
150 | } | 153 | } |
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 9c7f7811af70..4f1585f41f2b 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c | |||
@@ -380,25 +380,6 @@ static void __init setup_memory(void) | |||
380 | extern void __init setup_memory(void); | 380 | extern void __init setup_memory(void); |
381 | #endif | 381 | #endif |
382 | 382 | ||
383 | /* | ||
384 | * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by | ||
385 | * is_kdump_kernel() to determine if we are booting after a panic. Hence | ||
386 | * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE. | ||
387 | */ | ||
388 | #ifdef CONFIG_CRASH_DUMP | ||
389 | /* elfcorehdr= specifies the location of elf core header | ||
390 | * stored by the crashed kernel. | ||
391 | */ | ||
392 | static int __init parse_elfcorehdr(char *arg) | ||
393 | { | ||
394 | if (!arg) | ||
395 | return -EINVAL; | ||
396 | elfcorehdr_addr = memparse(arg, &arg); | ||
397 | return 0; | ||
398 | } | ||
399 | early_param("elfcorehdr", parse_elfcorehdr); | ||
400 | #endif | ||
401 | |||
402 | void __init __attribute__ ((weak)) plat_early_device_setup(void) | 383 | void __init __attribute__ ((weak)) plat_early_device_setup(void) |
403 | { | 384 | { |
404 | } | 385 | } |