All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE
@ 2011-10-03 10:18 Suzuki K. Poulose
  2011-10-03 18:23 ` McClintock Matthew-B29882
  2011-10-10  9:53 ` Suzuki Poulose
  0 siblings, 2 replies; 7+ messages in thread
From: Suzuki K. Poulose @ 2011-10-03 10:18 UTC (permalink / raw)
  To: kexec, Simon Horman
  Cc: Mahesh Jagannath Salgaonkar, M. Mohan Kumar, Suzuki K. Poulose,
	Ananth N Mavinakayanahalli, Vivek Goyal

Disable backup regions for BookE in case of a CRASH Dump, as they can
be run from anywhere.

The patch introduces --with-booke option to support the BookE.

With the patch, we get :

## On a 256M machine:

# busybox cat /proc/cmdline
init=/bin/init console=ttyS0,16550 crashkernel=128M@100M
# kexec -p root/vmlinux
usable memory rgns size:1 base:6400000 size:8000000
CRASH MEMORY RANGES
0000000000000000-0000000006400000
000000000e400000-0000000010000000
Command line after adding elfcorehdr:  elfcorehdr=112380K
Command line after adding elfcorehdr:  elfcorehdr=112380K savemaxmem=256M

Signed-off-by: Suzuki K. Poulose<suzuki@in.ibm.com>
---

 configure.ac                       |    5 +++++
 kexec/arch/ppc/crashdump-powerpc.c |    7 ++++++-
 kexec/arch/ppc/crashdump-powerpc.h |    8 ++++++++
 kexec/arch/ppc/kexec-ppc.c         |    5 +++++
 purgatory/arch/ppc/purgatory-ppc.c |    2 ++
 5 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/configure.ac b/configure.ac
index 0d09bba..7dd6028 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,6 +85,11 @@ AC_ARG_WITH([lzma], AC_HELP_STRING([--without-lzma],[disable lzma support]),
 AC_ARG_WITH([xen], AC_HELP_STRING([--without-xen],
 	[disable extended xen support]), [ with_xen="$withval"], [ with_xen=yes ] )
 
+AC_ARG_WITH([booke],
+		AC_HELP_STRING([--with-booke],[build for booke]),
+		AC_DEFINE(CONFIG_BOOKE,1,
+			[Define to build for BookE]))
+
 dnl ---Programs
 dnl To specify a different compiler, just 'export CC=/path/to/compiler'
 
diff --git a/kexec/arch/ppc/crashdump-powerpc.c b/kexec/arch/ppc/crashdump-powerpc.c
index 243721a..7c9dbff 100644
--- a/kexec/arch/ppc/crashdump-powerpc.c
+++ b/kexec/arch/ppc/crashdump-powerpc.c
@@ -95,11 +95,13 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges)
 	}
 	memset(crash_memory_range, 0, crash_rng_len);
 
+#ifndef CONFIG_BOOKE
 	/* create a separate program header for the backup region */
 	crash_memory_range[0].start = BACKUP_SRC_START;
 	crash_memory_range[0].end = BACKUP_SRC_END + 1;
 	crash_memory_range[0].type = RANGE_RAM;
 	memory_ranges++;
+#endif
 
 	dir = opendir(device_tree);
 	if (!dir) {
@@ -143,9 +145,10 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges)
 					" excedeed the max limit\n");
 				goto err;
 			}
-
+#ifndef CONFIG_BOOKE
 			if (start == 0 && end >= (BACKUP_SRC_END + 1))
 				start = BACKUP_SRC_END + 1;
+#endif
 
 			cstart = crash_base;
 			cend = crash_base + crash_size;
@@ -310,6 +313,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline,
 
 	info->backup_src_start = BACKUP_SRC_START;
 	info->backup_src_size = BACKUP_SRC_SIZE;
+#ifndef CONFIG_BOOKE
 	/* Create a backup region segment to store backup data*/
 	sz = (BACKUP_SRC_SIZE + align - 1) & ~(align - 1);
 	tmp = xmalloc(sz);
@@ -317,6 +321,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline,
 	info->backup_start = add_buffer(info, tmp, sz, sz, align,
 					0, max_addr, 1);
 	reserve(info->backup_start, sz);
+#endif
 
 	/* On powerpc memory ranges in device-tree is denoted as start
 	 * and size rather than start and end, as is the case with
diff --git a/kexec/arch/ppc/crashdump-powerpc.h b/kexec/arch/ppc/crashdump-powerpc.h
index dc2772d..a377146 100644
--- a/kexec/arch/ppc/crashdump-powerpc.h
+++ b/kexec/arch/ppc/crashdump-powerpc.h
@@ -21,10 +21,18 @@ extern struct arch_options_t arch_options;
 #define __pa(x)		((unsigned long)(x)-PAGE_OFFSET)
 
 #define COMMAND_LINE_SIZE	512 /* from kernel */
+
+#ifdef CONFIG_BOOKE
+/* We don't need backup region in Book E */
+#define BACKUP_SRC_START	0x0000
+#define BACKUP_SRC_END		0x0000
+#define BACKUP_SRC_SIZE		0x0000
+#else
 /* Backup Region, First 64K of System RAM. */
 #define BACKUP_SRC_START	0x0000
 #define BACKUP_SRC_END		0xffff
 #define BACKUP_SRC_SIZE		(BACKUP_SRC_END - BACKUP_SRC_START + 1)
+#endif
 
 #define KDUMP_BACKUP_LIMIT	BACKUP_SRC_SIZE
 #define _ALIGN_UP(addr, size)	(((addr)+((size)-1))&(~((size)-1)))
diff --git a/kexec/arch/ppc/kexec-ppc.c b/kexec/arch/ppc/kexec-ppc.c
index 4e3569f..57852dc 100644
--- a/kexec/arch/ppc/kexec-ppc.c
+++ b/kexec/arch/ppc/kexec-ppc.c
@@ -502,9 +502,14 @@ static int get_devtree_details(unsigned long kexec_flags)
 				if (crash_base + crash_size < mem_max)
 					mem_max = crash_base + crash_size;
 
+#ifndef CONFIG_BOOKE
 				add_usable_mem_rgns(0, crash_base + crash_size);
+				/* Reserve the region (KDUMP_BACKUP_LIMIT,crash_base) */
 				reserve(KDUMP_BACKUP_LIMIT,
 						crash_base-KDUMP_BACKUP_LIMIT);
+#else
+				add_usable_mem_rgns(crash_base, crash_size);
+#endif
 			}
 			/* reserve the initrd_start and end locations. */
 			memset(fname, 0, sizeof(fname));
diff --git a/purgatory/arch/ppc/purgatory-ppc.c b/purgatory/arch/ppc/purgatory-ppc.c
index 3e6b354..3df3767 100644
--- a/purgatory/arch/ppc/purgatory-ppc.c
+++ b/purgatory/arch/ppc/purgatory-ppc.c
@@ -36,8 +36,10 @@ void setup_arch(void)
 
 void post_verification_setup_arch(void)
 {
+#ifndef CONFIG_BOOKE
 	if (panic_kernel)
 		crashdump_backup_memory();
+#endif
 }
 
 void crashdump_backup_memory(void)


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE
  2011-10-03 10:18 [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE Suzuki K. Poulose
@ 2011-10-03 18:23 ` McClintock Matthew-B29882
  2011-10-04  3:21   ` Suzuki Poulose
  2011-10-10  9:53 ` Suzuki Poulose
  1 sibling, 1 reply; 7+ messages in thread
From: McClintock Matthew-B29882 @ 2011-10-03 18:23 UTC (permalink / raw)
  To: Suzuki K. Poulose
  Cc: M. Mohan Kumar, Ananth N Mavinakayanahalli,
	Mahesh Jagannath Salgaonkar, kexec, Simon Horman, Vivek Goyal

On Mon, Oct 3, 2011 at 5:18 AM, Suzuki K. Poulose <suzuki@in.ibm.com> wrote:
> Disable backup regions for BookE in case of a CRASH Dump, as they can
> be run from anywhere.
>
> The patch introduces --with-booke option to support the BookE.
>
> With the patch, we get :
>
> ## On a 256M machine:
>
> # busybox cat /proc/cmdline
> init=/bin/init console=ttyS0,16550 crashkernel=128M@100M
> # kexec -p root/vmlinux
> usable memory rgns size:1 base:6400000 size:8000000
> CRASH MEMORY RANGES
> 0000000000000000-0000000006400000
> 000000000e400000-0000000010000000
> Command line after adding elfcorehdr:  elfcorehdr=112380K
> Command line after adding elfcorehdr:  elfcorehdr=112380K savemaxmem=256M

So there were two crash regions when we only needed the one specified
on the command line?

-M

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE
  2011-10-03 18:23 ` McClintock Matthew-B29882
@ 2011-10-04  3:21   ` Suzuki Poulose
  2011-10-04  3:26     ` Suzuki Poulose
  0 siblings, 1 reply; 7+ messages in thread
From: Suzuki Poulose @ 2011-10-04  3:21 UTC (permalink / raw)
  To: McClintock Matthew-B29882
  Cc: Ananth N Mavinakayanahalli, Simon Horman,
	Mahesh Jagannath Salgaonkar, kexec, M. Mohan Kumar, Vivek Goyal

On 10/03/11 23:53, McClintock Matthew-B29882 wrote:
> On Mon, Oct 3, 2011 at 5:18 AM, Suzuki K. Poulose<suzuki@in.ibm.com>  wrote:
>> Disable backup regions for BookE in case of a CRASH Dump, as they can
>> be run from anywhere.
>>
>> The patch introduces --with-booke option to support the BookE.
>>
>> With the patch, we get :
>>
>> ## On a 256M machine:
>>
>> # busybox cat /proc/cmdline
>> init=/bin/init console=ttyS0,16550 crashkernel=128M@100M
>> # kexec -p root/vmlinux
>> usable memory rgns size:1 base:6400000 size:8000000
>> CRASH MEMORY RANGES
>> 0000000000000000-0000000006400000
>> 000000000e400000-0000000010000000
>> Command line after adding elfcorehdr:  elfcorehdr=112380K
>> Command line after adding elfcorehdr:  elfcorehdr=112380K savemaxmem=256M
>
> So there were two crash regions when we only needed the one specified
> on the command line?
>
Yes, and isn't that is expected ? The first kernel uses the memory region
(0-100M), (228M,256M). Where the 100-228M is reserved for crash kernel.

Thanks
Suzuki

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE
  2011-10-04  3:21   ` Suzuki Poulose
@ 2011-10-04  3:26     ` Suzuki Poulose
  2011-10-04  4:30       ` McClintock Matthew-B29882
  0 siblings, 1 reply; 7+ messages in thread
From: Suzuki Poulose @ 2011-10-04  3:26 UTC (permalink / raw)
  To: McClintock Matthew-B29882
  Cc: Ananth N Mavinakayanahalli, Simon Horman,
	Mahesh Jagannath Salgaonkar, kexec, M. Mohan Kumar, Vivek Goyal

On 10/04/11 08:51, Suzuki Poulose wrote:
> On 10/03/11 23:53, McClintock Matthew-B29882 wrote:
>> On Mon, Oct 3, 2011 at 5:18 AM, Suzuki K. Poulose<suzuki@in.ibm.com> wrote:
>>> Disable backup regions for BookE in case of a CRASH Dump, as they can
>>> be run from anywhere.
>>>
>>> The patch introduces --with-booke option to support the BookE.
>>>
>>> With the patch, we get :
>>>
>>> ## On a 256M machine:
>>>
>>> # busybox cat /proc/cmdline
>>> init=/bin/init console=ttyS0,16550 crashkernel=128M@100M
>>> # kexec -p root/vmlinux
>>> usable memory rgns size:1 base:6400000 size:8000000
>>> CRASH MEMORY RANGES
>>> 0000000000000000-0000000006400000
>>> 000000000e400000-0000000010000000
>>> Command line after adding elfcorehdr: elfcorehdr=112380K
>>> Command line after adding elfcorehdr: elfcorehdr=112380K savemaxmem=256M
>>
>> So there were two crash regions when we only needed the one specified
>> on the command line?
>>
> Yes, and isn't that is expected ? The first kernel uses the memory region
> (0-100M), (228M,256M). Where the 100-228M is reserved for crash kernel.

The CRASH MEMORY RANGES denotes the memory ranges of the crashed kernel and
usable memory regions denote the memory usable by the second kernel.

Thanks
Suzuki

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE
  2011-10-04  3:26     ` Suzuki Poulose
@ 2011-10-04  4:30       ` McClintock Matthew-B29882
  0 siblings, 0 replies; 7+ messages in thread
From: McClintock Matthew-B29882 @ 2011-10-04  4:30 UTC (permalink / raw)
  To: Suzuki Poulose
  Cc: Ananth N Mavinakayanahalli, Simon Horman,
	Mahesh Jagannath Salgaonkar, kexec, M. Mohan Kumar,
	McClintock Matthew-B29882, Vivek Goyal

On Mon, Oct 3, 2011 at 10:26 PM, Suzuki Poulose <suzuki@in.ibm.com> wrote:
>>> So there were two crash regions when we only needed the one specified
>>> on the command line?
>>>
>> Yes, and isn't that is expected ? The first kernel uses the memory region
>> (0-100M), (228M,256M). Where the 100-228M is reserved for crash kernel.
>
> The CRASH MEMORY RANGES denotes the memory ranges of the crashed kernel and
> usable memory regions denote the memory usable by the second kernel.

Right I agree, I don't remember there being two when I was looking at
this. Looks fine to me, but I have not looked at kexec on BookE in a
while.

-M

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE
  2011-10-03 10:18 [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE Suzuki K. Poulose
  2011-10-03 18:23 ` McClintock Matthew-B29882
@ 2011-10-10  9:53 ` Suzuki Poulose
  2011-10-21  7:48   ` Simon Horman
  1 sibling, 1 reply; 7+ messages in thread
From: Suzuki Poulose @ 2011-10-10  9:53 UTC (permalink / raw)
  To: Simon Horman
  Cc: Ananth N Mavinakayanahalli, Mahesh Jagannath Salgaonkar, kexec,
	M. Mohan Kumar, Suzuki K. Poulose, Vivek Goyal

On 10/03/11 15:48, Suzuki K. Poulose wrote:
> Disable backup regions for BookE in case of a CRASH Dump, as they can
> be run from anywhere.
>
> The patch introduces --with-booke option to support the BookE.
>
> With the patch, we get :
>
> ## On a 256M machine:
>
> # busybox cat /proc/cmdline
> init=/bin/init console=ttyS0,16550 crashkernel=128M@100M
> # kexec -p root/vmlinux
> usable memory rgns size:1 base:6400000 size:8000000
> CRASH MEMORY RANGES
> 0000000000000000-0000000006400000
> 000000000e400000-0000000010000000
> Command line after adding elfcorehdr:  elfcorehdr=112380K
> Command line after adding elfcorehdr:  elfcorehdr=112380K savemaxmem=256M
>
> Signed-off-by: Suzuki K. Poulose<suzuki@in.ibm.com>
Simon,

Could you please pick up the patch, if no one has any issues ?

Thanks

Suzuki

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE
  2011-10-10  9:53 ` Suzuki Poulose
@ 2011-10-21  7:48   ` Simon Horman
  0 siblings, 0 replies; 7+ messages in thread
From: Simon Horman @ 2011-10-21  7:48 UTC (permalink / raw)
  To: Suzuki Poulose
  Cc: Mahesh Jagannath Salgaonkar, M. Mohan Kumar, kexec,
	Ananth N Mavinakayanahalli, Vivek Goyal

On Mon, Oct 10, 2011 at 03:23:19PM +0530, Suzuki Poulose wrote:
> On 10/03/11 15:48, Suzuki K. Poulose wrote:
> >Disable backup regions for BookE in case of a CRASH Dump, as they can
> >be run from anywhere.
> >
> >The patch introduces --with-booke option to support the BookE.
> >
> >With the patch, we get :
> >
> >## On a 256M machine:
> >
> ># busybox cat /proc/cmdline
> >init=/bin/init console=ttyS0,16550 crashkernel=128M@100M
> ># kexec -p root/vmlinux
> >usable memory rgns size:1 base:6400000 size:8000000
> >CRASH MEMORY RANGES
> >0000000000000000-0000000006400000
> >000000000e400000-0000000010000000
> >Command line after adding elfcorehdr:  elfcorehdr=112380K
> >Command line after adding elfcorehdr:  elfcorehdr=112380K savemaxmem=256M
> >
> >Signed-off-by: Suzuki K. Poulose<suzuki@in.ibm.com>
> Simon,
> 
> Could you please pick up the patch, if no one has any issues ?

Hi,

sorry for not noticing this earlier.
I have pushed the change to the kexec-tools tree which is currently living
at git://github.com/horms/kexec-tools.git

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-10-21  7:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-03 10:18 [PATCH] kexec: powerpc: crash_dump: No backup region for PPC BookE Suzuki K. Poulose
2011-10-03 18:23 ` McClintock Matthew-B29882
2011-10-04  3:21   ` Suzuki Poulose
2011-10-04  3:26     ` Suzuki Poulose
2011-10-04  4:30       ` McClintock Matthew-B29882
2011-10-10  9:53 ` Suzuki Poulose
2011-10-21  7:48   ` Simon Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.