aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-19 11:07:08 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-19 11:07:08 -0400
commit710675d3609b1123a40db1eb28bf34041b1d37f2 (patch)
tree699beb7fe0bfccdce504613a2ce2fdb6d69a818a /arch
parenta289bbe27785a5f47dc501fa2bc18edfec147117 (diff)
parentdc74d7f996b465d8a95033c753d34c8b4c01c9d7 (diff)
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Move psw_set_key. [S390] Add oops_enter()/oops_exit() calls to die(). [S390] Print list of modules on die(). [S390] Fix yet another two section mismatches. [S390] Fix zfcpdump header [S390] Missing blank when appending cio_ignore kernel parameter
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/appldata/appldata_base.c5
-rw-r--r--arch/s390/kernel/entry.S8
-rw-r--r--arch/s390/kernel/entry64.S8
-rw-r--r--arch/s390/kernel/setup.c1
-rw-r--r--arch/s390/kernel/traps.c9
5 files changed, 23 insertions, 8 deletions
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c
index 81a2b92ab0c..6ffbab77ae4 100644
--- a/arch/s390/appldata/appldata_base.c
+++ b/arch/s390/appldata/appldata_base.c
@@ -535,8 +535,7 @@ void appldata_unregister_ops(struct appldata_ops *ops)
535 535
536/******************************* init / exit *********************************/ 536/******************************* init / exit *********************************/
537 537
538static void 538static void __cpuinit appldata_online_cpu(int cpu)
539appldata_online_cpu(int cpu)
540{ 539{
541 init_virt_timer(&per_cpu(appldata_timer, cpu)); 540 init_virt_timer(&per_cpu(appldata_timer, cpu));
542 per_cpu(appldata_timer, cpu).function = appldata_timer_function; 541 per_cpu(appldata_timer, cpu).function = appldata_timer_function;
@@ -580,7 +579,7 @@ appldata_cpu_notify(struct notifier_block *self,
580 return NOTIFY_OK; 579 return NOTIFY_OK;
581} 580}
582 581
583static struct notifier_block appldata_nb = { 582static struct notifier_block __cpuinitdata appldata_nb = {
584 .notifier_call = appldata_cpu_notify, 583 .notifier_call = appldata_cpu_notify,
585}; 584};
586 585
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index c8a2212014e..6234c6978a1 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -769,10 +769,13 @@ mcck_return:
769 769
770 RESTORE_ALL __LC_RETURN_MCCK_PSW,0 770 RESTORE_ALL __LC_RETURN_MCCK_PSW,0
771 771
772#ifdef CONFIG_SMP
773/* 772/*
774 * Restart interruption handler, kick starter for additional CPUs 773 * Restart interruption handler, kick starter for additional CPUs
775 */ 774 */
775#ifdef CONFIG_SMP
776#ifndef CONFIG_HOTPLUG_CPU
777 .section .init.text,"ax"
778#endif
776 .globl restart_int_handler 779 .globl restart_int_handler
777restart_int_handler: 780restart_int_handler:
778 l %r15,__LC_SAVE_AREA+60 # load ksp 781 l %r15,__LC_SAVE_AREA+60 # load ksp
@@ -785,6 +788,9 @@ restart_int_handler:
785 br %r14 # branch to start_secondary 788 br %r14 # branch to start_secondary
786restart_addr: 789restart_addr:
787 .long start_secondary 790 .long start_secondary
791#ifndef CONFIG_HOTPLUG_CPU
792 .previous
793#endif
788#else 794#else
789/* 795/*
790 * If we do not run with SMP enabled, let the new CPU crash ... 796 * If we do not run with SMP enabled, let the new CPU crash ...
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S
index 93745fd8f55..685f11faa4b 100644
--- a/arch/s390/kernel/entry64.S
+++ b/arch/s390/kernel/entry64.S
@@ -745,10 +745,13 @@ mcck_return:
745#endif 745#endif
746 lpswe __LC_RETURN_MCCK_PSW # back to caller 746 lpswe __LC_RETURN_MCCK_PSW # back to caller
747 747
748#ifdef CONFIG_SMP
749/* 748/*
750 * Restart interruption handler, kick starter for additional CPUs 749 * Restart interruption handler, kick starter for additional CPUs
751 */ 750 */
751#ifdef CONFIG_SMP
752#ifndef CONFIG_HOTPLUG_CPU
753 .section .init.text,"ax"
754#endif
752 .globl restart_int_handler 755 .globl restart_int_handler
753restart_int_handler: 756restart_int_handler:
754 lg %r15,__LC_SAVE_AREA+120 # load ksp 757 lg %r15,__LC_SAVE_AREA+120 # load ksp
@@ -759,6 +762,9 @@ restart_int_handler:
759 lmg %r6,%r15,__SF_GPRS(%r15) # load registers from clone 762 lmg %r6,%r15,__SF_GPRS(%r15) # load registers from clone
760 stosm __SF_EMPTY(%r15),0x04 # now we can turn dat on 763 stosm __SF_EMPTY(%r15),0x04 # now we can turn dat on
761 jg start_secondary 764 jg start_secondary
765#ifndef CONFIG_HOTPLUG_CPU
766 .previous
767#endif
762#else 768#else
763/* 769/*
764 * If we do not run with SMP enabled, let the new CPU crash ... 770 * If we do not run with SMP enabled, let the new CPU crash ...
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 51d6309e7f3..7e1bfb98406 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -300,6 +300,7 @@ static void __init setup_zfcpdump(unsigned int console_devno)
300 else 300 else
301 sprintf(str, "cio_ignore=all,!0.0.%04x", 301 sprintf(str, "cio_ignore=all,!0.0.%04x",
302 ipl_info.data.fcp.dev_id.devno); 302 ipl_info.data.fcp.dev_id.devno);
303 strcat(COMMAND_LINE, " ");
303 strcat(COMMAND_LINE, str); 304 strcat(COMMAND_LINE, str);
304 console_loglevel = 2; 305 console_loglevel = 2;
305} 306}
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
index cbfe73034c3..ee9186f8fb0 100644
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -253,19 +253,22 @@ void die(const char * str, struct pt_regs * regs, long err)
253{ 253{
254 static int die_counter; 254 static int die_counter;
255 255
256 oops_enter();
256 debug_stop_all(); 257 debug_stop_all();
257 console_verbose(); 258 console_verbose();
258 spin_lock_irq(&die_lock); 259 spin_lock_irq(&die_lock);
259 bust_spinlocks(1); 260 bust_spinlocks(1);
260 printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); 261 printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter);
261 show_regs(regs); 262 print_modules();
263 show_regs(regs);
262 bust_spinlocks(0); 264 bust_spinlocks(0);
263 spin_unlock_irq(&die_lock); 265 spin_unlock_irq(&die_lock);
264 if (in_interrupt()) 266 if (in_interrupt())
265 panic("Fatal exception in interrupt"); 267 panic("Fatal exception in interrupt");
266 if (panic_on_oops) 268 if (panic_on_oops)
267 panic("Fatal exception: panic_on_oops"); 269 panic("Fatal exception: panic_on_oops");
268 do_exit(SIGSEGV); 270 oops_exit();
271 do_exit(SIGSEGV);
269} 272}
270 273
271static void inline 274static void inline