summary refs log tree commit diff
path: root/arch/sh/Kconfig
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2009-03-18 08:51:29 +0000
committerPaul Mundt <lethal@linux-sh.org>2009-03-18 18:57:43 +0900
commitb7cf6ddc13186f9272438a97aa75972d496d0b0a (patch)
treef0b7e65b92a573dd10fc97b9bad0d832ed45f64b /arch/sh/Kconfig
parente4e063d0c288bd65c56dd855337780a541ed928d (diff)
downloadlinux-b7cf6ddc13186f9272438a97aa75972d496d0b0a.tar.gz
sh: add kexec jump support
Add kexec jump support to the SuperH architecture.

Similar to the x86 implementation, with the following
exceptions:

- Instead of separating the assembly code flow into
two parts for regular kexec and kexec jump we use a
single code path. In the assembly snippet regular
kexec is just kexec jump that never comes back.

- Instead of using a swap page when moving data between
pages the page copy assembly routine has been modified
to exchange the data between the pages using registers.

- We walk the page list twice in machine_kexec() to
do and undo physical to virtual address conversion.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/Kconfig')
-rw-r--r--arch/sh/Kconfig7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 6c56495fd158..8d50d527c595 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -559,6 +559,13 @@ config CRASH_DUMP
 
 	  For more details see Documentation/kdump/kdump.txt
 
+config KEXEC_JUMP
+	bool "kexec jump (EXPERIMENTAL)"
+	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
+	help
+	  Jump between original kernel and kexeced kernel and invoke
+	  code via KEXEC
+
 config SECCOMP
 	bool "Enable seccomp to safely compute untrusted bytecode"
 	depends on PROC_FS