[PATCH 05/10] powerpc: Add crash kernel support for 85xx
galak at kernel.crashing.org
Sat Jan 19 09:29:23 EST 2008
On Dec 14, 2007, at 11:23 AM, Dale Farnsworth wrote:
> On Fri, Dec 14, 2007 at 10:48:58AM -0600, Kumar Gala wrote:
>> On Nov 22, 2007, at 9:46 AM, Dale Farnsworth wrote:
>>> Add the ability to build a ppc_85xx kernel to run at a physical
>>> address of 32MB.
>>> Signed-off-by: Dale Farnsworth <dale at farnsworth.org>
>>> 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
>>> 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/
>>> 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)
>>> +#define INITIAL_BOOKE_PAGESZ (BOOKE_PAGESZ_16M)
>> I'm ok with bumping the first page to 64M in all cases.
> OK, I'll make that change in the next rev. Thanks.
I'm about to commit a version of this patch, why did you need to bump
>> 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
> 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
> I'll post an updated series soon, with hopes of getting it into 2.6.25
More information about the Linuxppc-dev