浏览代码

Merge branches 'sh/clkfwk' and 'sh/kexec'

Paul Mundt 15 年之前
父节点
当前提交
15f2a7967a
共有 4 个文件被更改,包括 23 次插入21 次删除
  1. 1 1
      arch/sh/Kconfig
  2. 19 1
      arch/sh/kernel/crash_dump.c
  3. 3 0
      arch/sh/kernel/machine_kexec.c
  4. 0 19
      arch/sh/kernel/setup.c

+ 1 - 1
arch/sh/Kconfig

@@ -633,7 +633,7 @@ config KEXEC
 
 
 config CRASH_DUMP
 config CRASH_DUMP
 	bool "kernel crash dumps (EXPERIMENTAL)"
 	bool "kernel crash dumps (EXPERIMENTAL)"
-	depends on SUPERH32 && EXPERIMENTAL
+	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
 	help
 	help
 	  Generate crash dump after being started by kexec.
 	  Generate crash dump after being started by kexec.
 	  This should be normally only set in special crash dump kernels
 	  This should be normally only set in special crash dump kernels

+ 19 - 1
arch/sh/kernel/crash_dump.c

@@ -4,7 +4,6 @@
  *	Created by: Hariprasad Nellitheertha (hari@in.ibm.com)
  *	Created by: Hariprasad Nellitheertha (hari@in.ibm.com)
  *	Copyright (C) IBM Corporation, 2004. All rights reserved
  *	Copyright (C) IBM Corporation, 2004. All rights reserved
  */
  */
-
 #include <linux/errno.h>
 #include <linux/errno.h>
 #include <linux/crash_dump.h>
 #include <linux/crash_dump.h>
 #include <linux/io.h>
 #include <linux/io.h>
@@ -13,6 +12,25 @@
 /* Stores the physical address of elf header of crash image. */
 /* Stores the physical address of elf header of crash image. */
 unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX;
 unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX;
 
 
+/*
+ * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by
+ * is_kdump_kernel() to determine if we are booting after a panic. Hence
+ * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE.
+ *
+ * elfcorehdr= specifies the location of elf core header
+ * stored by the crashed kernel.
+ */
+static int __init parse_elfcorehdr(char *arg)
+{
+	if (!arg)
+		return -EINVAL;
+
+	elfcorehdr_addr = memparse(arg, &arg);
+
+	return 0;
+}
+early_param("elfcorehdr", parse_elfcorehdr);
+
 /**
 /**
  * copy_oldmem_page - copy one page from "oldmem"
  * copy_oldmem_page - copy one page from "oldmem"
  * @pfn: page frame number to be copied
  * @pfn: page frame number to be copied

+ 3 - 0
arch/sh/kernel/machine_kexec.c

@@ -147,4 +147,7 @@ void arch_crash_save_vmcoreinfo(void)
 	VMCOREINFO_SYMBOL(node_data);
 	VMCOREINFO_SYMBOL(node_data);
 	VMCOREINFO_LENGTH(node_data, MAX_NUMNODES);
 	VMCOREINFO_LENGTH(node_data, MAX_NUMNODES);
 #endif
 #endif
+#ifdef CONFIG_X2TLB
+	VMCOREINFO_CONFIG(X2TLB);
+#endif
 }
 }

+ 0 - 19
arch/sh/kernel/setup.c

@@ -380,25 +380,6 @@ static void __init setup_memory(void)
 extern void __init setup_memory(void);
 extern void __init setup_memory(void);
 #endif
 #endif
 
 
-/*
- * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by
- * is_kdump_kernel() to determine if we are booting after a panic. Hence
- * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE.
- */
-#ifdef CONFIG_CRASH_DUMP
-/* elfcorehdr= specifies the location of elf core header
- * stored by the crashed kernel.
- */
-static int __init parse_elfcorehdr(char *arg)
-{
-	if (!arg)
-		return -EINVAL;
-	elfcorehdr_addr = memparse(arg, &arg);
-	return 0;
-}
-early_param("elfcorehdr", parse_elfcorehdr);
-#endif
-
 void __init __attribute__ ((weak)) plat_early_device_setup(void)
 void __init __attribute__ ((weak)) plat_early_device_setup(void)
 {
 {
 }
 }