linux/arch/s390
Michael Holzheu 8eb4bd666f [S390] kernel: Initialize register 14 when starting new CPU
When starting a new CPU we currently jump to start_secondary() without
setting register 14 (the return address) correctly. Therefore on the stack
frame for start_secondary an invalid return address is stored. This leads
to wrong stack back traces in kernel dumps.

Example:

 #00 [1f33fe48] cpu_idle at 10614a
 #01 [1f33fe90] start_secondary at 54fa88
 #02 [1f33feb8] (null) at 0                 <--- invalid

To fix this start_secondary() is called now with basr/brasl that sets
register 14 correctly. The output of the stack backtrace looks then
like the following:

 #00 [1f33fe48] cpu_idle at 10614a
 #01 [1f33fe90] start_secondary at 54fa88
 #02 [1f33feb8] restart_base at 54f41e      <--- correct

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2011-05-10 17:13:42 +02:00
..
appldata [S390] appldata: fix dev_get_stats 64 bit conversion 2010-08-13 10:06:55 +02:00
boot Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
crypto [S390] prng: fix pointer arithmetic 2011-04-27 09:34:45 +02:00
hypfs [S390] hypfs: Move buffer allocation from open to read 2011-01-05 12:47:27 +01:00
include/asm Fix common misspellings 2011-03-31 11:26:23 -03:00
kernel [S390] kernel: Initialize register 14 when starting new CPU 2011-05-10 17:13:42 +02:00
kvm [S390] kvm-390: Let kernel exit SIE instruction on work 2011-04-20 10:15:44 +02:00
lib futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
math-emu s390: change to new flag variable 2011-03-17 14:02:57 +01:00
mm [S390] irqstats: fix counting of pfault, dasd diag and virtio irqs 2011-04-29 10:42:25 +02:00
oprofile [S390] oprofile s390: prevent stack corruption 2011-04-04 09:43:32 +02:00
defconfig [S390] Update default configuration 2011-01-12 09:55:24 +01:00
Kbuild [S390] standardize Kbuild rules 2010-10-25 16:10:14 +02:00
Kconfig oprofile, s390: Cleanups 2011-03-16 14:30:40 +01:00
Kconfig.debug [S390] Write protect module text and RO data 2011-03-15 17:08:23 +01:00
Makefile [S390] remove redundant stack check option 2011-03-15 17:08:22 +01:00