linux-sg2042/arch/s390/kernel
Martin Schwidefsky 8b646bd759 [S390] rework smp code
Define struct pcpu and merge some of the NR_CPUS arrays into it, including
__cpu_logical_map, current_set and smp_cpu_state. Split smp related
functions to those operating on physical cpus and the functions operating
on a logical cpu number. Make the functions for physical cpus use a
pointer to a struct pcpu. This hides the knowledge about cpu addresses in
smp.c, entry[64].S and swsusp_asm64.S, thus remove the sigp.h header.

The PSW restart mechanism is used to start secondary cpus, calling a
function on an online cpu, calling a function on the ipl cpu, and for
the nmi signal. Replace the different assembler functions with a
single function restart_int_handler. The new entry point calls a function
whose pointer is stored in the lowcore of the target cpu and it can wait
for the source cpu to stop. This covers all existing use cases.

Overall the code is now simpler and there are ~380 lines less code.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11 11:59:28 -04:00
..
vdso32 [S390] vdso: disable gcov profiling 2011-05-23 10:24:29 +02:00
vdso64 [S390] vdso: disable gcov profiling 2011-05-23 10:24:29 +02:00
Makefile [S390] rework smp code 2012-03-11 11:59:28 -04:00
asm-offsets.c [S390] rework smp code 2012-03-11 11:59:28 -04:00
audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
audit.h [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
base.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
bitmap.c [S390] move EXPORT_SYMBOLs to definitions 2009-03-26 15:24:11 +01:00
compat_audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
compat_exec_domain.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
compat_linux.c [S390] ipc: call generic sys_ipc demultiplexer 2011-12-27 11:27:13 +01:00
compat_linux.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c [S390] return address of compat signals 2011-12-27 11:27:14 +01:00
compat_wrapper.S sys_poll: fix incorrect type for 'timeout' parameter 2012-02-21 17:24:20 -08:00
cpcmd.c [S390] convert cpcmd printks to pr_xxx macros. 2008-12-25 13:39:19 +01:00
crash.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
crash_dump.c [S390] crash_dump: remove duplicate include 2012-02-24 18:01:36 +01:00
debug.c switch debugfs to umode_t 2012-01-03 22:54:56 -05:00
diag.c [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
dis.c [S390] disassembler: mark exception causing instructions 2011-12-27 11:27:14 +01:00
early.c [S390] Check for NULL termination in command line setup 2011-12-27 11:25:48 +01:00
ebcdic.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
entry.S [S390] rework smp code 2012-03-11 11:59:28 -04:00
entry.h [S390] rework smp code 2012-03-11 11:59:28 -04:00
entry64.S [S390] rework smp code 2012-03-11 11:59:28 -04:00
ftrace.c [S390] cleanup ftrace backend functions 2011-01-05 12:47:31 +01:00
head.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
head31.S [S390] smp: external call vs. emergency signal 2011-10-30 15:16:44 +01:00
head64.S [S390] smp: external call vs. emergency signal 2011-10-30 15:16:44 +01:00
head_kdump.S [S390] kdump backend code 2011-10-30 15:16:42 +01:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
ipl.c [S390] rework smp code 2012-03-11 11:59:28 -04:00
irq.c [S390] irqstats: split IPI interrupt accounting 2011-10-30 15:16:47 +01:00
jump_label.c s390/jump-label: add arch_jump_label_transform_static() 2011-10-25 11:54:37 -07:00
kprobes.c [S390] sparse: fix sparse static warnings 2011-10-30 15:16:46 +01:00
machine_kexec.c [S390] rework smp code 2012-03-11 11:59:28 -04:00
mcount.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
mcount64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
mem_detect.c [S390] Rework create_mem_hole() function 2011-12-27 11:27:09 +01:00
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
nmi.c treewide: remove useless NORET_TYPE macro and uses 2012-01-12 20:13:03 -08:00
process.c compat: fix compile breakage on s390 2012-02-27 07:54:27 -08:00
processor.c [S390] avoid warning in show_cpuinfo 2011-10-30 15:16:15 +01:00
ptrace.c compat: fix compile breakage on s390 2012-02-27 07:54:27 -08:00
reipl.S [S390] kdump backend code 2011-10-30 15:16:42 +01:00
reipl64.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
relocate_kernel.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
relocate_kernel64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
s390_ksyms.c [S390] move sie code to entry.S 2011-07-24 10:48:21 +02:00
sclp.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
setup.c [S390] rework smp code 2012-03-11 11:59:28 -04:00
signal.c compat: fix compile breakage on s390 2012-02-27 07:54:27 -08:00
smp.c [S390] rework smp code 2012-03-11 11:59:28 -04:00
stacktrace.c [S390] Fix stacktrace compile bug. 2008-07-17 17:22:09 +02:00
suspend.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
swsusp_asm64.S [S390] rework smp code 2012-03-11 11:59:28 -04:00
sys_s390.c [S390] ipc: call generic sys_ipc demultiplexer 2011-12-27 11:27:13 +01:00
syscalls.S [S390] wire up process_vm syscalls 2011-11-14 11:19:08 +01:00
sysinfo.c [S390] sparse: fix sparse warnings in math-emu 2011-10-30 15:16:46 +01:00
time.c [S390] correct ktime to tod clock comparator conversion 2012-02-17 10:29:33 +01:00
topology.c [S390] rework smp code 2012-03-11 11:59:28 -04:00
traps.c [S390] Enable exception traces by default 2011-12-27 11:27:14 +01:00
vdso.c [S390] rework smp code 2012-03-11 11:59:28 -04:00
vmlinux.lds.S [S390] cleanup entry point definition 2012-01-18 18:03:41 +01:00
vtime.c [S390] rework smp code 2012-03-11 11:59:28 -04:00