public inbox for linux-sh@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sh: add dynamic crash base address support
@ 2008-10-09  9:42 Magnus Damm
  0 siblings, 0 replies; only message in thread
From: Magnus Damm @ 2008-10-09  9:42 UTC (permalink / raw)
  To: linux-sh

From: Magnus Damm <damm@igel.co.jp>

Add support for dynamic crash kernel base address.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
---

 arch/sh/kernel/setup.c |   15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

--- 0001/arch/sh/kernel/setup.c
+++ work/arch/sh/kernel/setup.c	2008-10-09 16:54:51.000000000 +0900
@@ -147,6 +147,7 @@ static void __init reserve_crashkernel(v
 {
 	unsigned long long free_mem;
 	unsigned long long crash_size, crash_base;
+	void *vp;
 	int ret;
 
 	free_mem = ((unsigned long long)max_low_pfn - min_low_pfn) << PAGE_SHIFT;
@@ -155,12 +156,14 @@ static void __init reserve_crashkernel(v
 			&crash_size, &crash_base);
 	if (ret = 0 && crash_size) {
 		if (crash_base <= 0) {
-			printk(KERN_INFO "crashkernel reservation failed - "
-					"you have to specify a base address\n");
-			return;
-		}
-
-		if (reserve_bootmem(crash_base, crash_size,
+			vp = alloc_bootmem_nopanic(crash_size); 
+			if (!vp) {
+				printk(KERN_INFO "crashkernel allocation "
+				       "failed\n");
+				return;
+			}
+			crash_base = __pa(vp);
+		} else if (reserve_bootmem(crash_base, crash_size,
 					BOOTMEM_EXCLUSIVE) < 0) {
 			printk(KERN_INFO "crashkernel reservation failed - "
 					"memory is in use\n");

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-10-09  9:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-09  9:42 [PATCH] sh: add dynamic crash base address support Magnus Damm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox