Thread (6 messages) 6 messages, 4 authors, 2011-07-18

Re: [PATCH v2] powerpc32: Kexec support for PPC440X chipsets

From: Suzuki Poulose <hidden>
Date: 2011-07-13 06:01:52
Also in: kexec, lkml

On 07/13/11 10:58, Kumar Gala wrote:
On Jul 12, 2011, at 1:44 AM, Suzuki K. Poulose wrote:
quoted
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<redacted>
Cc:	Sebastian Andrzej Siewior<bigeasy@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?
At the moment, I have not written the code for doing the 47x TLB setup which
is slightly different from 44x.

It is in my TODO list. I don't have access to a 47x yet. I will work on it
once I get access to the board.

Thanks
Suzuki
quoted
	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
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help