linux-s390.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 0/6] s390 patches for 2.6.22
@ 2007-06-19  8:45 Martin Schwidefsky
  2007-06-19  8:45 ` [patch 1/6] Missing blank when appending cio_ignore kernel parameter Martin Schwidefsky
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Martin Schwidefsky @ 2007-06-19  8:45 UTC (permalink / raw)
  To: linux-kernel, linux-s390

Last s390 bug fix patches for 2.6.22.

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

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

* [patch 1/6] Missing blank when appending cio_ignore kernel parameter
  2007-06-19  8:45 [patch 0/6] s390 patches for 2.6.22 Martin Schwidefsky
@ 2007-06-19  8:45 ` Martin Schwidefsky
  2007-06-19  8:45 ` [patch 2/6] Fix zfcpdump header Martin Schwidefsky
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Martin Schwidefsky @ 2007-06-19  8:45 UTC (permalink / raw)
  To: linux-kernel, linux-s390; +Cc: Michael Holzheu, Martin Schwidefsky

[-- Attachment #1: 001-dumper.diff --]
[-- Type: text/plain, Size: 901 bytes --]

From: Michael Holzheu <holzheu@de.ibm.com>

When appending the 'cio_ignore' kernel parameter to the command line, a blank
has to be inserted in order to separate 'cio_ignore' from the preceding kernel
parameters.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---

 arch/s390/kernel/setup.c |    1 +
 1 file changed, 1 insertion(+)

Index: quilt-2.6/arch/s390/kernel/setup.c
===================================================================
--- quilt-2.6.orig/arch/s390/kernel/setup.c
+++ quilt-2.6/arch/s390/kernel/setup.c
@@ -300,6 +300,7 @@ static void __init setup_zfcpdump(unsign
 	else
 		sprintf(str, "cio_ignore=all,!0.0.%04x",
 			ipl_info.data.fcp.dev_id.devno);
+	strcat(COMMAND_LINE, " ");
 	strcat(COMMAND_LINE, str);
 	console_loglevel = 2;
 }

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

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

* [patch 2/6] Fix zfcpdump header
  2007-06-19  8:45 [patch 0/6] s390 patches for 2.6.22 Martin Schwidefsky
  2007-06-19  8:45 ` [patch 1/6] Missing blank when appending cio_ignore kernel parameter Martin Schwidefsky
@ 2007-06-19  8:45 ` Martin Schwidefsky
  2007-06-19  8:45 ` [patch 3/6] Fix yet another two section mismatches Martin Schwidefsky
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Martin Schwidefsky @ 2007-06-19  8:45 UTC (permalink / raw)
  To: linux-kernel, linux-s390; +Cc: Michael Holzheu, Martin Schwidefsky

[-- Attachment #1: 002-zfcp-dumphdr.diff --]
[-- Type: text/plain, Size: 1069 bytes --]

From: Michael Holzheu <holzheu@de.ibm.com>

Added members for volume number and real memory size to header information.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---

 drivers/s390/char/zcore.c |    3 +++
 1 file changed, 3 insertions(+)

Index: quilt-2.6/drivers/s390/char/zcore.c
===================================================================
--- quilt-2.6.orig/drivers/s390/char/zcore.c
+++ quilt-2.6/drivers/s390/char/zcore.c
@@ -267,7 +267,9 @@ struct zcore_header {
 	u64 tod;
 	cpuid_t cpu_id;
 	u32 arch_id;
+	u32 volnr;
 	u32 build_arch;
+	u64 rmem_size;
 	char pad2[4016];
 } __attribute__((packed,__aligned__(16)));
 
@@ -559,6 +561,7 @@ static void __init zcore_header_init(int
 	else
 		hdr->arch_id = DUMP_ARCH_S390;
 	hdr->mem_size = sys_info.mem_size;
+	hdr->rmem_size = sys_info.mem_size;
 	hdr->mem_end = sys_info.mem_size;
 	hdr->num_pages = sys_info.mem_size / PAGE_SIZE;
 	hdr->tod = get_clock();

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

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

* [patch 3/6] Fix yet another two section mismatches.
  2007-06-19  8:45 [patch 0/6] s390 patches for 2.6.22 Martin Schwidefsky
  2007-06-19  8:45 ` [patch 1/6] Missing blank when appending cio_ignore kernel parameter Martin Schwidefsky
  2007-06-19  8:45 ` [patch 2/6] Fix zfcpdump header Martin Schwidefsky
@ 2007-06-19  8:45 ` Martin Schwidefsky
  2007-06-19  8:45 ` [patch 4/6] Print list of modules on die() Martin Schwidefsky
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Martin Schwidefsky @ 2007-06-19  8:45 UTC (permalink / raw)
  To: linux-kernel, linux-s390; +Cc: Heiko Carstens, Martin Schwidefsky

[-- Attachment #1: 003-sections.diff --]
[-- Type: text/plain, Size: 3222 bytes --]

From: Heiko Carstens <heiko.carstens@de.ibm.com>

WARNING: arch/s390/kernel/built-in.o(.text+0xb92a):
	 Section mismatch: reference to .init.text:start_secondary
	 (between 'restart_addr' and 'stack_overflow')
WARNING: arch/s390/appldata/built-in.o(.data+0xdc):
	 Section mismatch: reference to .init.text:
	 (between 'appldata_nb' and 'appldata_timer_lock')

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---

 arch/s390/appldata/appldata_base.c |    5 ++---
 arch/s390/kernel/entry.S           |    8 +++++++-
 arch/s390/kernel/entry64.S         |    8 +++++++-
 3 files changed, 16 insertions(+), 5 deletions(-)

Index: quilt-2.6/arch/s390/appldata/appldata_base.c
===================================================================
--- quilt-2.6.orig/arch/s390/appldata/appldata_base.c
+++ quilt-2.6/arch/s390/appldata/appldata_base.c
@@ -535,8 +535,7 @@ void appldata_unregister_ops(struct appl
 
 /******************************* init / exit *********************************/
 
-static void
-appldata_online_cpu(int cpu)
+static void __cpuinit appldata_online_cpu(int cpu)
 {
 	init_virt_timer(&per_cpu(appldata_timer, cpu));
 	per_cpu(appldata_timer, cpu).function = appldata_timer_function;
@@ -580,7 +579,7 @@ appldata_cpu_notify(struct notifier_bloc
 	return NOTIFY_OK;
 }
 
-static struct notifier_block appldata_nb = {
+static struct notifier_block __cpuinitdata appldata_nb = {
 	.notifier_call = appldata_cpu_notify,
 };
 
Index: quilt-2.6/arch/s390/kernel/entry64.S
===================================================================
--- quilt-2.6.orig/arch/s390/kernel/entry64.S
+++ quilt-2.6/arch/s390/kernel/entry64.S
@@ -745,10 +745,13 @@ mcck_return:
 #endif
 	lpswe	__LC_RETURN_MCCK_PSW	# back to caller
 
-#ifdef CONFIG_SMP
 /*
  * Restart interruption handler, kick starter for additional CPUs
  */
+#ifdef CONFIG_SMP
+#ifndef CONFIG_HOTPLUG_CPU
+	.section .init.text,"ax"
+#endif
 	.globl restart_int_handler
 restart_int_handler:
 	lg	%r15,__LC_SAVE_AREA+120 # load ksp
@@ -759,6 +762,9 @@ restart_int_handler:
 	lmg	%r6,%r15,__SF_GPRS(%r15) # load registers from clone
 	stosm	__SF_EMPTY(%r15),0x04	# now we can turn dat on
 	jg	start_secondary
+#ifndef CONFIG_HOTPLUG_CPU
+	.previous
+#endif
 #else
 /*
  * If we do not run with SMP enabled, let the new CPU crash ...
Index: quilt-2.6/arch/s390/kernel/entry.S
===================================================================
--- quilt-2.6.orig/arch/s390/kernel/entry.S
+++ quilt-2.6/arch/s390/kernel/entry.S
@@ -769,10 +769,13 @@ mcck_return:
 
 	RESTORE_ALL __LC_RETURN_MCCK_PSW,0
 
-#ifdef CONFIG_SMP
 /*
  * Restart interruption handler, kick starter for additional CPUs
  */
+#ifdef CONFIG_SMP
+#ifndef CONFIG_HOTPLUG_CPU
+	.section .init.text,"ax"
+#endif
 	.globl restart_int_handler
 restart_int_handler:
 	l	%r15,__LC_SAVE_AREA+60	# load ksp
@@ -785,6 +788,9 @@ restart_int_handler:
 	br	%r14			# branch to start_secondary
 restart_addr:
 	.long	start_secondary
+#ifndef CONFIG_HOTPLUG_CPU
+	.previous
+#endif
 #else
 /*
  * If we do not run with SMP enabled, let the new CPU crash ...

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

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

* [patch 4/6] Print list of modules on die().
  2007-06-19  8:45 [patch 0/6] s390 patches for 2.6.22 Martin Schwidefsky
                   ` (2 preceding siblings ...)
  2007-06-19  8:45 ` [patch 3/6] Fix yet another two section mismatches Martin Schwidefsky
@ 2007-06-19  8:45 ` Martin Schwidefsky
  2007-06-19  8:45 ` [patch 5/6] Move psw_set_key Martin Schwidefsky
  2007-06-19  8:45 ` [patch 6/6] Add oops_enter()/oops_exit() calls to die() Martin Schwidefsky
  5 siblings, 0 replies; 11+ messages in thread
From: Martin Schwidefsky @ 2007-06-19  8:45 UTC (permalink / raw)
  To: linux-kernel, linux-s390; +Cc: Heiko Carstens, Martin Schwidefsky

[-- Attachment #1: 004-printk-modules.diff --]
[-- Type: text/plain, Size: 857 bytes --]

From: Heiko Carstens <heiko.carstens@de.ibm.com>

Print list of modules on die() like a lot of other architectures do.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---

 arch/s390/kernel/traps.c |    1 +
 1 file changed, 1 insertion(+)

Index: quilt-2.6/arch/s390/kernel/traps.c
===================================================================
--- quilt-2.6.orig/arch/s390/kernel/traps.c
+++ quilt-2.6/arch/s390/kernel/traps.c
@@ -258,6 +258,7 @@ void die(const char * str, struct pt_reg
 	spin_lock_irq(&die_lock);
 	bust_spinlocks(1);
 	printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter);
+	print_modules();
         show_regs(regs);
 	bust_spinlocks(0);
         spin_unlock_irq(&die_lock);

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

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

* [patch 5/6] Move psw_set_key.
  2007-06-19  8:45 [patch 0/6] s390 patches for 2.6.22 Martin Schwidefsky
                   ` (3 preceding siblings ...)
  2007-06-19  8:45 ` [patch 4/6] Print list of modules on die() Martin Schwidefsky
@ 2007-06-19  8:45 ` Martin Schwidefsky
  2007-06-19  9:12   ` Bastian Blank
  2007-06-19  9:17   ` Paul Mundt
  2007-06-19  8:45 ` [patch 6/6] Add oops_enter()/oops_exit() calls to die() Martin Schwidefsky
  5 siblings, 2 replies; 11+ messages in thread
From: Martin Schwidefsky @ 2007-06-19  8:45 UTC (permalink / raw)
  To: linux-kernel, linux-s390; +Cc: Heiko Carstens, Martin Schwidefsky

[-- Attachment #1: 005-set-key.diff --]
[-- Type: text/plain, Size: 1320 bytes --]

From: Heiko Carstens <heiko.carstens@de.ibm.com>

Move psw_set_key() from ptrace.h to processor.h which is a more
suitable place for it. In addition the moves makes the function
invisible to user space.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---

 arch/s390/kernel/traps.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Index: quilt-2.6/arch/s390/kernel/traps.c
===================================================================
--- quilt-2.6.orig/arch/s390/kernel/traps.c
+++ quilt-2.6/arch/s390/kernel/traps.c
@@ -253,20 +253,22 @@ void die(const char * str, struct pt_reg
 {
 	static int die_counter;
 
+	oops_enter();
 	debug_stop_all();
 	console_verbose();
 	spin_lock_irq(&die_lock);
 	bust_spinlocks(1);
 	printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter);
 	print_modules();
-        show_regs(regs);
+	show_regs(regs);
 	bust_spinlocks(0);
-        spin_unlock_irq(&die_lock);
+	spin_unlock_irq(&die_lock);
 	if (in_interrupt())
 		panic("Fatal exception in interrupt");
 	if (panic_on_oops)
 		panic("Fatal exception: panic_on_oops");
-        do_exit(SIGSEGV);
+	oops_exit();
+	do_exit(SIGSEGV);
 }
 
 static void inline

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

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

* [patch 6/6] Add oops_enter()/oops_exit() calls to die().
  2007-06-19  8:45 [patch 0/6] s390 patches for 2.6.22 Martin Schwidefsky
                   ` (4 preceding siblings ...)
  2007-06-19  8:45 ` [patch 5/6] Move psw_set_key Martin Schwidefsky
@ 2007-06-19  8:45 ` Martin Schwidefsky
  5 siblings, 0 replies; 11+ messages in thread
From: Martin Schwidefsky @ 2007-06-19  8:45 UTC (permalink / raw)
  To: linux-kernel, linux-s390; +Cc: Heiko Carstens, Martin Schwidefsky

[-- Attachment #1: 006-oops-enter.diff --]
[-- Type: text/plain, Size: 1608 bytes --]

From: Heiko Carstens <heiko.carstens@de.ibm.com>

This is mainly to switch off all potentially debugging stuff that
won't report anything useful after an oops happened.
Besided that setting pause_on_oops will work too, but doesn't make
too much sense on s390.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---

 include/asm-s390/processor.h |    5 +++++
 include/asm-s390/ptrace.h    |    9 +--------
 2 files changed, 6 insertions(+), 8 deletions(-)

Index: quilt-2.6/include/asm-s390/processor.h
===================================================================
--- quilt-2.6.orig/include/asm-s390/processor.h
+++ quilt-2.6/include/asm-s390/processor.h
@@ -216,6 +216,11 @@ static inline void cpu_relax(void)
 	barrier();
 }
 
+static inline void psw_set_key(unsigned int key)
+{
+	asm volatile("spka 0(%0)" : : "d" (key));
+}
+
 /*
  * Set PSW to specified value.
  */
Index: quilt-2.6/include/asm-s390/ptrace.h
===================================================================
--- quilt-2.6.orig/include/asm-s390/ptrace.h
+++ quilt-2.6/include/asm-s390/ptrace.h
@@ -470,14 +470,7 @@ struct user_regs_struct
 #define regs_return_value(regs)((regs)->gprs[2])
 #define profile_pc(regs) instruction_pointer(regs)
 extern void show_regs(struct pt_regs * regs);
-#endif
-
-static inline void
-psw_set_key(unsigned int key)
-{
-	asm volatile("spka 0(%0)" : : "d" (key));
-}
-
+#endif /* __KERNEL__ */
 #endif /* __ASSEMBLY__ */
 
 #endif /* _S390_PTRACE_H */

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

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

* Re: [patch 5/6] Move psw_set_key.
  2007-06-19  8:45 ` [patch 5/6] Move psw_set_key Martin Schwidefsky
@ 2007-06-19  9:12   ` Bastian Blank
  2007-06-19  9:34     ` Heiko Carstens
  2007-06-19  9:17   ` Paul Mundt
  1 sibling, 1 reply; 11+ messages in thread
From: Bastian Blank @ 2007-06-19  9:12 UTC (permalink / raw)
  To: Martin Schwidefsky; +Cc: linux-kernel, linux-s390, Heiko Carstens

On Tue, Jun 19, 2007 at 10:45:21AM +0200, Martin Schwidefsky wrote:
> Move psw_set_key() from ptrace.h to processor.h which is a more
> suitable place for it. In addition the moves makes the function
> invisible to user space.

Hmm, this does not really describe the changes.

Bastian

-- 
Violence in reality is quite different from theory.
		-- Spock, "The Cloud Minders", stardate 5818.4

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

* Re: [patch 5/6] Move psw_set_key.
  2007-06-19  8:45 ` [patch 5/6] Move psw_set_key Martin Schwidefsky
  2007-06-19  9:12   ` Bastian Blank
@ 2007-06-19  9:17   ` Paul Mundt
  1 sibling, 0 replies; 11+ messages in thread
From: Paul Mundt @ 2007-06-19  9:17 UTC (permalink / raw)
  To: Martin Schwidefsky; +Cc: linux-kernel, linux-s390, Heiko Carstens

On Tue, Jun 19, 2007 at 10:45:21AM +0200, Martin Schwidefsky wrote:
> From: Heiko Carstens <heiko.carstens@de.ibm.com>
> 
> Move psw_set_key() from ptrace.h to processor.h which is a more
> suitable place for it. In addition the moves makes the function
> invisible to user space.
> 
>  arch/s390/kernel/traps.c |    8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 

On Tue, Jun 19, 2007 at 10:45:22AM +0200, Martin Schwidefsky wrote:
> From: Heiko Carstens <heiko.carstens@de.ibm.com>
> 
> This is mainly to switch off all potentially debugging stuff that
> won't report anything useful after an oops happened.
> Besided that setting pause_on_oops will work too, but doesn't make
> too much sense on s390.
> 
>  include/asm-s390/processor.h |    5 +++++
>  include/asm-s390/ptrace.h    |    9 +--------
>  2 files changed, 6 insertions(+), 8 deletions(-)
> 
These changelog does not match the patch, they're reversed.. :-)

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

* Re: [patch 5/6] Move psw_set_key.
  2007-06-19  9:12   ` Bastian Blank
@ 2007-06-19  9:34     ` Heiko Carstens
  2007-06-19 11:11       ` Martin Schwidefsky
  0 siblings, 1 reply; 11+ messages in thread
From: Heiko Carstens @ 2007-06-19  9:34 UTC (permalink / raw)
  To: Bastian Blank, Martin Schwidefsky, linux-kernel, linux-s390

On Tue, Jun 19, 2007 at 11:12:00AM +0200, Bastian Blank wrote:
> On Tue, Jun 19, 2007 at 10:45:21AM +0200, Martin Schwidefsky wrote:
> > Move psw_set_key() from ptrace.h to processor.h which is a more
> > suitable place for it. In addition the moves makes the function
> > invisible to user space.
> 
> Hmm, this does not really describe the changes.

Yes.. you need to interchange descriptions for patches 5 & 6. Then it
might make sense ;)

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

* Re: [patch 5/6] Move psw_set_key.
  2007-06-19  9:34     ` Heiko Carstens
@ 2007-06-19 11:11       ` Martin Schwidefsky
  0 siblings, 0 replies; 11+ messages in thread
From: Martin Schwidefsky @ 2007-06-19 11:11 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: Bastian Blank, linux-kernel, linux-s390

On Tue, 2007-06-19 at 11:34 +0200, Heiko Carstens wrote:
> > > Move psw_set_key() from ptrace.h to processor.h which is a more
> > > suitable place for it. In addition the moves makes the function
> > > invisible to user space.
> > 
> > Hmm, this does not really describe the changes.
> 
> Yes.. you need to interchange descriptions for patches 5 & 6. Then it
> might make sense ;)

Ahem, yes, oops.. sorry.

Fixed on git390.

-- 
blue skies,
  Martin.

"Reality continues to ruin my life." - Calvin.

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

end of thread, other threads:[~2007-06-19 11:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-19  8:45 [patch 0/6] s390 patches for 2.6.22 Martin Schwidefsky
2007-06-19  8:45 ` [patch 1/6] Missing blank when appending cio_ignore kernel parameter Martin Schwidefsky
2007-06-19  8:45 ` [patch 2/6] Fix zfcpdump header Martin Schwidefsky
2007-06-19  8:45 ` [patch 3/6] Fix yet another two section mismatches Martin Schwidefsky
2007-06-19  8:45 ` [patch 4/6] Print list of modules on die() Martin Schwidefsky
2007-06-19  8:45 ` [patch 5/6] Move psw_set_key Martin Schwidefsky
2007-06-19  9:12   ` Bastian Blank
2007-06-19  9:34     ` Heiko Carstens
2007-06-19 11:11       ` Martin Schwidefsky
2007-06-19  9:17   ` Paul Mundt
2007-06-19  8:45 ` [patch 6/6] Add oops_enter()/oops_exit() calls to die() Martin Schwidefsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).