Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorsten Duwe <duwe@suse.de>2010-06-15 12:47:25 +0200
committerTorsten Duwe <duwe@suse.de>2010-06-15 12:47:25 +0200
commit6c0521dc9f3551d8340ebef86d0787f9d6475ac8 (patch)
tree3c0f6c5f8fa3cc385920fcc74df1a99aa5280a46
parent9bd7c8d4e307e0ad85589dec1265e3f83c682538 (diff)
- patches.arch/ppc64-kdump-rebase: powerpc: Move kdump default
base address to 64MB on 64bit (bnc#607448).
-rw-r--r--kernel-source.changes6
-rw-r--r--patches.arch/ppc64-kdump-rebase58
-rw-r--r--series.conf1
3 files changed, 65 insertions, 0 deletions
diff --git a/kernel-source.changes b/kernel-source.changes
index a1df42b98a..207f76f12b 100644
--- a/kernel-source.changes
+++ b/kernel-source.changes
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Tue Jun 15 12:47:06 CEST 2010 - duwe@suse.de
+
+- patches.arch/ppc64-kdump-rebase: powerpc: Move kdump default
+ base address to 64MB on 64bit (bnc#607448).
+
+-------------------------------------------------------------------
Mon Jun 14 23:08:46 CEST 2010 - jkosina@suse.cz
- patches.fixes/virtio_net-Add-napi-schedule-to-napi_enable-call.patch:
diff --git a/patches.arch/ppc64-kdump-rebase b/patches.arch/ppc64-kdump-rebase
new file mode 100644
index 0000000000..1698529b03
--- /dev/null
+++ b/patches.arch/ppc64-kdump-rebase
@@ -0,0 +1,58 @@
+From: Anton Blanchard <anton@samba.org>
+Subject: powerpc: Move kdump default base address to 64MB on 64bit
+Date: Mon, 07 Jun 2010 15:34:38 -0000
+To: benh@kernel.crashing.org
+Cc: linuxppc-dev@ozlabs.org
+Patch-mainline: 2.6.35.x
+References: bnc#607448
+
+We are seeing boot fails on some System p machines when using the kdump
+crashkernel= boot option. The default kdump base address is 32MB, so if we
+reserve 256MB for kdump then we reserve all of the RMO except the first 32MB.
+
+We really want kdump to reserve some memory in the RMO and most of it
+elsewhere but that will require more significant changes. For now we can shift
+the default base address to 64MB when CONFIG_PPC64 and CONFIG_RELOCATABLE are
+set. This isn't quite correct since what we really care about is the kdump
+kernel is relocatable, but we already make the assumption that base kernel
+and kdump kernel have the same CONFIG_RELOCATABLE setting, eg:
+
+#ifndef CONFIG_RELOCATABLE
+ if (crashk_res.start != KDUMP_KERNELBASE)
+ printk("Crash kernel location must be 0x%x\n",
+ KDUMP_KERNELBASE);
+...
+
+RTAS is instantiated towards the top of our RMO, so if we were to go any
+higher we risk not having enough RMO memory for the kdump kernel on boxes
+with a 128MB RMO.
+
+Signed-off-by: Anton Blanchard <anton@samba.org>
+Acked-by: Torsten Duwe <duwe@suse.de>
+
+---
+
+
+Index: powerpc.git/arch/powerpc/include/asm/kdump.h
+===================================================================
+--- powerpc.git.orig/arch/powerpc/include/asm/kdump.h 2010-06-01 09:05:02.847207461 +1000
++++ powerpc.git/arch/powerpc/include/asm/kdump.h 2010-06-07 15:07:58.607203883 +1000
+@@ -3,8 +3,17 @@
+
+ #include <asm/page.h>
+
+-/* Kdump kernel runs at 32 MB, change at your peril. */
++/*
++ * If CONFIG_RELOCATABLE is enabled we can place the kdump kernel anywhere.
++ * To keep enough space in the RMO for the first stage kernel on 64bit, we
++ * place it at 64MB. If CONFIG_RELOCATABLE is not enabled we must place
++ * the second stage at 32MB.
++ */
++#if defined(CONFIG_RELOCATABLE) && defined(CONFIG_PPC64)
++#define KDUMP_KERNELBASE 0x4000000
++#else
+ #define KDUMP_KERNELBASE 0x2000000
++#endif
+
+ /* How many bytes to reserve at zero for kdump. The reserve limit should
+ * be greater or equal to the trampoline's end address.
diff --git a/series.conf b/series.conf
index 11843aec29..730a1d12bb 100644
--- a/series.conf
+++ b/series.conf
@@ -449,6 +449,7 @@
patches.arch/ppc-public-query_cpu_stopped
patches.arch/ppc-start-only-stopped-cpus
patches.arch/ppc-xics-affinity-fix
+ patches.arch/ppc64-kdump-rebase
########################################################
# PS3