linux/arch/s390/kernel
Michael Holzheu 1592a8e456 s390/kdump: fix nosmt kernel parameter
It turned out that SIGP set-multi-threading can only be done once.
Therefore switching to a different MT level after switching to
sclp.mtid_prev in the dump case fails.

As a symptom specifying the "nosmt" parameter currently fails for
the kdump kernel and the kernel starts with multi-threading enabled.

So fix this and issue diag 308 subcode 1 call after collecting the
CPU states for the dump. Also enhance the diag308_reset() function to
be usable also with enabled lowcore protection and prefix register != 0.
After the reset it is possible to switch the MT level again. We have
to do the reset very early in order not to kill the already initialized
console. Therefore instead of kmalloc() the corresponding memblock
functions have to be used. To avoid copying the sclp cpu code into
sclp_early, we now use the simple sigp loop method for CPU detection.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-06-25 09:39:26 +02:00
..
vdso32 s390/vdso: fix stack corruption 2014-10-27 13:27:02 +01:00
vdso64 s390/vdso: fix clock_gettime for CLOCK_THREAD_CPUTIME_ID, -2 and -3 2015-02-12 09:37:21 +01:00
.gitignore s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
asm-offsets.c Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc 2015-04-15 13:53:55 -07:00
audit.c
audit.h
base.S s390/kdump: fix nosmt kernel parameter 2015-06-25 09:39:26 +02:00
cache.c s390/cacheinfo: add missing facility check 2015-04-13 10:46:16 +02:00
compat_audit.c
compat_linux.c groups: Consolidate the setgroups permission checks 2014-12-05 17:19:27 -06:00
compat_linux.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c s390: Remove signal translation and exec_domain 2015-04-12 20:58:25 +02:00
compat_wrapper.c s390/kernel: add system calls for PCI memory access 2014-11-19 09:46:43 +01:00
cpcmd.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
crash_dump.c s390/kdump: fix nosmt kernel parameter 2015-06-25 09:39:26 +02:00
debug.c s390: time: Provide read_boot_clock64() and read_persistent_clock64() 2015-05-22 10:36:29 -07:00
diag.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
dis.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
dumpstack.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
early.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
ebcdic.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
entry.h s390/signal: add sys_sigreturn and sys_rt_sigreturn declarations 2015-01-08 10:02:49 +01:00
entry.S KVM: s390: make exit_sie_sync more robust 2015-05-08 15:51:14 +02:00
ftrace.c s390/maccess: remove potentially broken probe_kernel_write() 2015-03-25 11:49:43 +01:00
head64.S s390: fix kernel crash due to linkage stack instructions 2014-02-05 11:00:50 +01:00
head_kdump.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
head.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
idle.c s390/idle: convert open coded idle time seqcount 2014-12-08 09:42:32 +01:00
ipl.c s390/ipl: cleanup macro usage 2015-03-25 11:49:50 +01:00
irq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-04-15 09:00:47 -07:00
jump_label.c s390/maccess: remove potentially broken probe_kernel_write() 2015-03-25 11:49:43 +01:00
kprobes.c s390/maccess: remove potentially broken probe_kernel_write() 2015-03-25 11:49:43 +01:00
lgr.c s390/sysinfo,stsi: change return code handling 2012-09-26 15:45:12 +02:00
machine_kexec.c s390: add SMT support 2015-01-22 12:16:01 +01:00
Makefile s390: remove "64" suffix from mem64.S and swsusp_asm64.S 2015-03-25 11:49:51 +01:00
mcount.S s390/ftrace: hotpatch support for function tracing 2015-01-29 09:19:25 +01:00
module.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
nmi.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
os_info.c Include missing linux/slab.h inclusions 2013-04-29 15:42:01 -04:00
perf_cpum_cf_events.c s390/cpum_cf: Export event names in sysfs 2013-12-16 14:37:50 +01:00
perf_cpum_cf.c s390: Replace __get_cpu_var uses 2014-08-26 13:45:52 -04:00
perf_cpum_sf.c s390/cpum_sf: add diagnostic sampling event only if it is authorized 2015-03-13 12:15:44 +01:00
perf_event.c s390/perf: make print_debug_cf() static 2014-03-14 12:59:32 +01:00
pgm_check.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
process.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
processor.c s390/ftrace: fix crashes when switching tracers / add notrace to cpu_relax() 2015-03-02 11:35:53 -08:00
ptrace.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
reipl.S s390: remove "64" suffix from a couple of files 2015-03-25 11:49:34 +01:00
relocate_kernel.S s390: remove "64" suffix from a couple of files 2015-03-25 11:49:34 +01:00
runtime_instr.c s390/irq: Use defines for external interruption codes 2014-04-03 14:30:52 +02:00
s390_ksyms.c s390: use IS_ENABLED to check if a CONFIG is set to y or m 2013-12-16 14:38:04 +01:00
sclp.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
setup.c s390/kdump: fix nosmt kernel parameter 2015-06-25 09:39:26 +02:00
signal.c Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc 2015-04-15 13:53:55 -07:00
smp.c s390/kdump: fix nosmt kernel parameter 2015-06-25 09:39:26 +02:00
stacktrace.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
suspend.c PCI: Include <linux/pci.h>, not <asm/pci.h> 2015-06-08 07:55:03 -05:00
swsusp.S s390: remove "64" suffix from mem64.S and swsusp_asm64.S 2015-03-25 11:49:51 +01:00
sys_s390.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
syscalls.S s390: remove 31 bit syscalls 2015-03-25 11:49:35 +01:00
sysinfo.c Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
time.c s390: time: Provide read_boot_clock64() and read_persistent_clock64() 2015-05-22 10:36:29 -07:00
topology.c s390: make couple of functions and variables static 2015-03-25 11:49:45 +01:00
traps.c s390/traps: panic() instead of die() on translation exception 2015-03-25 11:49:38 +01:00
uprobes.c s390/uprobes: fix address space annotation 2015-03-25 11:49:47 +01:00
vdso.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
vmlinux.lds.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
vtime.c s390: add SMT support 2015-01-22 12:16:01 +01:00