diff options
author | Suzuki Poulose <suzuki@in.ibm.com> | 2011-07-18 03:29:20 +0000 |
---|---|---|
committer | Josh Boyer <jwboyer@gmail.com> | 2011-08-11 13:50:37 -0400 |
commit | 674bfa485554156aa90ce17288712fcb568a42c3 (patch) | |
tree | c2fffbd0c640ad62a70c787a284ead0cb5aeb553 /arch/powerpc/Kconfig | |
parent | 53d1e658df6e26d62500410719aaee2b82067c03 (diff) | |
download | linux-674bfa485554156aa90ce17288712fcb568a42c3.tar.gz linux-674bfa485554156aa90ce17288712fcb568a42c3.tar.bz2 linux-674bfa485554156aa90ce17288712fcb568a42c3.zip |
powerpc/44x: Kexec support for PPC440X chipsets
This patch adds kexec support for PPC440 based chipsets. This work is based
on the KEXEC patches for FSL BookE.
The FSL BookE patch and the code flow could be found at the link below:
http://patchwork.ozlabs.org/patch/49359/
Steps:
1) Invalidate all the TLB entries except the one this code is run from
2) Create a tmp mapping for our code in the other address space and jump to it
3) Invalidate the entry we used
4) Create a 1:1 mapping for 0-2GiB in blocks of 256M
5) Jump to the new 1:1 mapping and invalidate the tmp mapping
I have tested this patches on Ebony, Sequoia boards and Virtex on QEMU.
You need kexec-tools commit e8b7939b1e or newer for ppc440x support,
available at:
git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
Signed-off-by: Suzuki Poulose <suzuki@in.ibm.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Josh Boyer <jwboyer@gmail.com>
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r-- | arch/powerpc/Kconfig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 6926b61acfea..0a3d5560c9be 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -345,7 +345,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE config KEXEC bool "kexec system call (EXPERIMENTAL)" - depends on (PPC_BOOK3S || FSL_BOOKE) && EXPERIMENTAL + depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP && !47x)) && EXPERIMENTAL help kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot |