From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752187AbZH0DTU (ORCPT ); Wed, 26 Aug 2009 23:19:20 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751862AbZH0DTU (ORCPT ); Wed, 26 Aug 2009 23:19:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35884 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751689AbZH0DTT (ORCPT ); Wed, 26 Aug 2009 23:19:19 -0400 Date: Wed, 26 Aug 2009 23:16:42 -0400 From: Amerigo Wang To: linux-kernel@vger.kernel.org Cc: tony.luck@intel.com, linux-ia64@vger.kernel.org, Neil Horman , "Eric W. Biederman" , kamezawa.hiroyu@jp.fujitsu.com, Andi Kleen , Michael Ellerman , Amerigo Wang , "M. Mohan Kumar" , akpm@linux-foundation.org, bernhard.walle@gmx.de, Fenghua Yu , Ingo Molnar , Anton Vorontsov Message-Id: <20090827031909.4534.24859.sendpatchset@localhost.localdomain> In-Reply-To: <20090827031800.4534.94868.sendpatchset@localhost.localdomain> References: <20090827031800.4534.94868.sendpatchset@localhost.localdomain> Subject: [Patch 6/8] powerpc: implement crashkernel=auto Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since in patch 2/8 we already implement the generic part, this will add the rest part for powerpc. Signed-off-by: WANG Cong Cc: Anton Vorontsov Cc: M. Mohan Kumar Cc: Michael Ellerman --- Index: linux-2.6/arch/powerpc/include/asm/kexec.h =================================================================== --- linux-2.6.orig/arch/powerpc/include/asm/kexec.h +++ linux-2.6/arch/powerpc/include/asm/kexec.h @@ -39,6 +39,45 @@ typedef void (*crash_shutdown_t)(void); #ifdef CONFIG_KEXEC +#ifdef CONFIG_KEXEC_AUTO_RESERVE + +#ifndef KEXEC_AUTO_THRESHOLD +#define KEXEC_AUTO_THRESHOLD (1ULL<<31) /* 2G */ +#endif + +#ifndef arch_default_crash_base +static inline +unsigned long long arch_default_crash_base(void) +{ + return KDUMP_KERNELBASE; +} +#define arch_default_crash_base arch_default_crash_base +#endif + +#ifndef arch_default_crash_size +static inline +unsigned long long arch_default_crash_size(unsigned long long total_size) +{ + if (total_size < KEXEC_AUTO_THRESHOLD) + return 0; + if (total_size < (1ULL<<32)) + return 1ULL<<27; + else { +#ifdef CONFIG_64BIT + if (total_size > (1ULL<<37)) /* 128G */ + return 1ULL<<32; /* 4G */ + return 1ULL< + /* * This function is responsible for capturing register states if coming * via panic or invoking dump using sysrq-trigger.