Browse Source

[PATCH] kexec: change CONFIG_PHYSICAL_START dependency

I have heard some complaints about people not finding CONFIG_CRASH_DUMP
option and also some objections about its dependency on CONFIG_EMBEDDED.
The following patch ends that dependency.  I thought of hiding it under
CONFIG_KEXEC, but CONFIG_PHYSICAL_START could also be used for some reasons
other than kexec/kdump and hence left it visible.  I will also update the
documentation accordingly.

o Following patch removes the config dependency of CONFIG_PHYSICAL_START
  on CONFIG_EMBEDDED. The reason being CONFIG_CRASH_DUMP option for
  kdump needs CONFIG_PHYSICAL_START which makes CONFIG_CRASH_DUMP depend
  on CONFIG_EMBEDDED. It is not always obvious for kdump users to choose
  CONFIG_EMBEDDED.

o It also shifts the palce where this option appears, to make it closer
  to kexec and kdump options.

Signed-off-by: Maneesh Soni <maneesh@in.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Haren Myneni <haren@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Maneesh Soni 19 years ago
parent
commit
05970d476f
3 changed files with 41 additions and 25 deletions
  1. 21 12
      arch/i386/Kconfig
  2. 19 12
      arch/x86_64/Kconfig
  3. 1 1
      fs/Kconfig

+ 21 - 12
arch/i386/Kconfig

@@ -645,17 +645,6 @@ config SECCOMP
 
 
 source kernel/Kconfig.hz
 source kernel/Kconfig.hz
 
 
-config PHYSICAL_START
-	hex "Physical address where the kernel is loaded" if EMBEDDED
-	default "0x100000"
-	help
-	  This gives the physical address where the kernel is loaded.
-	  Primarily used in the case of kexec on panic where the
-	  fail safe kernel needs to run at a different address than
-	  the panic-ed kernel.
-
-	  Don't change this unless you know what you are doing.
-
 config KEXEC
 config KEXEC
 	bool "kexec system call (EXPERIMENTAL)"
 	bool "kexec system call (EXPERIMENTAL)"
 	depends on EXPERIMENTAL
 	depends on EXPERIMENTAL
@@ -675,11 +664,31 @@ config KEXEC
 
 
 config CRASH_DUMP
 config CRASH_DUMP
 	bool "kernel crash dumps (EXPERIMENTAL)"
 	bool "kernel crash dumps (EXPERIMENTAL)"
-	depends on EMBEDDED
 	depends on EXPERIMENTAL
 	depends on EXPERIMENTAL
 	depends on HIGHMEM
 	depends on HIGHMEM
 	help
 	help
 	  Generate crash dump after being started by kexec.
 	  Generate crash dump after being started by kexec.
+
+config PHYSICAL_START
+	hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
+
+	default "0x1000000" if CRASH_DUMP
+	default "0x100000"
+	help
+	  This gives the physical address where the kernel is loaded. Normally
+	  for regular kernels this value is 0x100000 (1MB). But in the case
+	  of kexec on panic the fail safe kernel needs to run at a different
+	  address than the panic-ed kernel. This option is used to set the load
+	  address for kernels used to capture crash dump on being kexec'ed
+	  after panic. The default value for crash dump kernels is
+	  0x1000000 (16MB). This can also be set based on the "X" value as
+	  specified in the "crashkernel=YM@XM" command line boot parameter
+	  passed to the panic-ed kernel. Typically this parameter is set as
+	  crashkernel=64M@16M. Please take a look at
+	  Documentation/kdump/kdump.txt for more details about crash dumps.
+
+	  Don't change this unless you know what you are doing.
+
 endmenu
 endmenu
 
 
 
 

+ 19 - 12
arch/x86_64/Kconfig

@@ -399,17 +399,6 @@ config X86_MCE_AMD
 	   Additional support for AMD specific MCE features such as
 	   Additional support for AMD specific MCE features such as
 	   the DRAM Error Threshold.
 	   the DRAM Error Threshold.
 
 
-config PHYSICAL_START
-	hex "Physical address where the kernel is loaded" if EMBEDDED
-	default "0x100000"
-	help
-	  This gives the physical address where the kernel is loaded.
-	  Primarily used in the case of kexec on panic where the
-	  fail safe kernel needs to run at a different address than
-	  the panic-ed kernel.
-
-	  Don't change this unless you know what you are doing.
-
 config KEXEC
 config KEXEC
 	bool "kexec system call (EXPERIMENTAL)"
 	bool "kexec system call (EXPERIMENTAL)"
 	depends on EXPERIMENTAL
 	depends on EXPERIMENTAL
@@ -429,11 +418,29 @@ config KEXEC
 
 
 config CRASH_DUMP
 config CRASH_DUMP
 	bool "kernel crash dumps (EXPERIMENTAL)"
 	bool "kernel crash dumps (EXPERIMENTAL)"
-	depends on EMBEDDED
 	depends on EXPERIMENTAL
 	depends on EXPERIMENTAL
 	help
 	help
 		Generate crash dump after being started by kexec.
 		Generate crash dump after being started by kexec.
 
 
+config PHYSICAL_START
+	hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
+	default "0x1000000" if CRASH_DUMP
+	default "0x100000"
+	help
+	  This gives the physical address where the kernel is loaded. Normally
+	  for regular kernels this value is 0x100000 (1MB). But in the case
+	  of kexec on panic the fail safe kernel needs to run at a different
+	  address than the panic-ed kernel. This option is used to set the load
+	  address for kernels used to capture crash dump on being kexec'ed
+	  after panic. The default value for crash dump kernels is
+	  0x1000000 (16MB). This can also be set based on the "X" value as
+	  specified in the "crashkernel=YM@XM" command line boot parameter
+	  passed to the panic-ed kernel. Typically this parameter is set as
+	  crashkernel=64M@16M. Please take a look at
+	  Documentation/kdump/kdump.txt for more details about crash dumps.
+
+	  Don't change this unless you know what you are doing.
+
 config SECCOMP
 config SECCOMP
 	bool "Enable seccomp to safely compute untrusted bytecode"
 	bool "Enable seccomp to safely compute untrusted bytecode"
 	depends on PROC_FS
 	depends on PROC_FS

+ 1 - 1
fs/Kconfig

@@ -798,7 +798,7 @@ config PROC_KCORE
 
 
 config PROC_VMCORE
 config PROC_VMCORE
         bool "/proc/vmcore support (EXPERIMENTAL)"
         bool "/proc/vmcore support (EXPERIMENTAL)"
-        depends on PROC_FS && EMBEDDED && EXPERIMENTAL && CRASH_DUMP
+        depends on PROC_FS && EXPERIMENTAL && CRASH_DUMP
         help
         help
         Exports the dump image of crashed kernel in ELF format.
         Exports the dump image of crashed kernel in ELF format.