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 | } |
