Thread (27 messages) 27 messages, 4 authors, 2008-04-24

Re: [PATCH 05/10] powerpc: Add crash kernel support for 85xx

From: Dale Farnsworth <hidden>
Date: 2007-12-14 17:23:18

On Fri, Dec 14, 2007 at 10:48:58AM -0600, Kumar Gala wrote:
On Nov 22, 2007, at 9:46 AM, Dale Farnsworth wrote:
quoted
Add the ability to build a ppc_85xx kernel to run at a physical
address of 32MB.

Signed-off-by: Dale Farnsworth <redacted>
---
arch/powerpc/Kconfig                 |    2 +-
arch/powerpc/kernel/head_fsl_booke.S |   23 ++++++++++++++++++-----
arch/powerpc/mm/fsl_booke_mmu.c      |    6 +++---
3 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 805b4d1..d405298 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -253,7 +253,7 @@ config KEXEC
config CRASH_DUMP
	bool "Build a kdump crash kernel (EXPERIMENTAL)"
-	depends on PPC_MULTIPLATFORM && EXPERIMENTAL
+	depends on (PPC_MULTIPLATFORM || PPC_85xx) && EXPERIMENTAL
	help
	  Build a kernel suitable for use as a kdump capture kernel.
	  The kernel will be linked at a different address than normal, and
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/ 
kernel/head_fsl_booke.S
index 4b98227..1c9685f 100644
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
@@ -41,6 +41,12 @@
#include <asm/asm-offsets.h>
#include "head_booke.h"

+#ifdef CONFIG_CRASH_DUMP
+#define INITIAL_BOOKE_PAGESZ (BOOKE_PAGESZ_64M)
+#else
+#define INITIAL_BOOKE_PAGESZ (BOOKE_PAGESZ_16M)
+#endif
I'm ok with bumping the first page to 64M in all cases.
OK, I'll make that change in the next rev.  Thanks.

<snip>
The rest looks good.  Does this mean we can boot a e500 kernel at a
non-zero physical address?  (can we run or is the non-zero phy just
for a short period of init time).
Yes, with this series of patches, we can boot and run with a classic ppc
or e500 kernel at 32MB physical (0xc2000000 virtual).  Note that on
classic, we still need memory at phys 0 for the exception vectors.
On e500 IIRC, we don't use the vectors at phys 0, but we still write
the trampoline vectors there.  I just didn't bother making that conditional.

I'll post an updated series soon, with hopes of getting it into 2.6.25

-Dale
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help