On Jul 12, 2011, at 1:44 AM, Suzuki K. Poulose wrote: > Changes from V1: Uses a tmp mapping in the other address space to setup > the 1:1 mapping (suggested by Sebastian Andrzej Siewior). > > Note: Should we do the same for kernel entry code for PPC44x ? > > 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. > It would be great if somebody could test this on the other boards. > > Signed-off-by: Suzuki Poulose <suzuki at in.ibm.com> > Cc: Sebastian Andrzej Siewior <bigeasy at linutronix.de> > --- > > arch/powerpc/Kconfig | 2 > arch/powerpc/include/asm/kexec.h | 2 > arch/powerpc/kernel/misc_32.S | 170 ++++++++++++++++++++++++++++++++++++++ > 3 files changed, 172 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 423145a6..d04fae0 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -349,7 +349,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 Is there something special about 47x that its not supported? > 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 - k