linux/arch/s390/include/asm
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
..
airq.h
appldata.h
asm-offsets.h
atomic.h atomic: cleanup asm-generic atomic*.h inclusion 2011-07-26 16:49:47 -07:00
auxvec.h
bitops.h asm-generic: add another generic ext2 atomic bitops 2011-07-26 16:49:46 -07:00
bitsperlong.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
ccwdev.h [S390] fix mismatch in summation of I/O IRQ statistics 2011-10-30 15:16:15 +01:00
ccwgroup.h
checksum.h
chpid.h UAPI: Alter the S390 asm include guards to be recognisable by the UAPI splitter 2011-12-13 09:26:45 +00:00
chsc.h
cio.h
cmb.h
cmpxchg.h
compat.h compat: fix compile breakage on s390 2012-02-27 07:54:27 -08:00
cpcmd.h
cpu.h
cputime.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-01-06 08:44:54 -08:00
crw.h
current.h
dasd.h
debug.h switch debugfs to umode_t 2012-01-03 22:54:56 -05:00
delay.h
device.h
diag.h
div64.h
dma.h
ebcdic.h
elf.h [S390] Do not clobber personality flags on exec 2011-09-26 16:40:50 +02:00
emergency-restart.h
errno.h
etr.h
extmem.h
fb.h
fcntl.h
fcx.h
ftrace.h
futex.h
hardirq.h
hugetlb.h
idals.h
io.h
ioctl.h
ioctls.h
ipcbuf.h
ipl.h [S390] kdump backend code 2011-10-30 15:16:42 +01:00
irq_regs.h
irq.h [S390] irqstats: split IPI interrupt accounting 2011-10-30 15:16:47 +01:00
irqflags.h [S390] irqs: Do not trace arch_local_{*,irq_*} functions 2011-07-24 10:48:00 +02:00
isc.h
itcw.h UAPI: Alter the S390 asm include guards to be recognisable by the UAPI splitter 2011-12-13 09:26:45 +00:00
jump_label.h
Kbuild
kdebug.h [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
kexec.h kdump: define KEXEC_NOTE_BYTES arch specific for s390x 2012-01-23 08:38:48 -08:00
kmap_types.h
kprobes.h
kvm_host.h KVM: s390: handle SIGP sense running intercepts 2011-11-17 16:25:46 +02:00
kvm_para.h
kvm_virtio.h
kvm.h
linkage.h [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
local64.h
local.h
lowcore.h [S390] rework smp code 2012-03-11 11:59:28 -04:00
mathemu.h
mman.h UAPI: Split trivial #if defined(__KERNEL__) && X conditionals 2011-12-13 15:07:49 +00:00
mmu_context.h
mmu.h [S390] kvm guest address space mapping 2011-07-24 10:48:21 +02:00
module.h
monwriter.h
msgbuf.h
mutex.h
nmi.h
page.h [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
param.h
pci.h
percpu.h percpu: Remove irqsafe_cpu_xxx variants 2011-12-22 10:40:20 -08:00
perf_event.h
pgalloc.h [S390] kvm guest address space mapping 2011-07-24 10:48:21 +02:00
pgtable.h [S390] add support for physical memory > 4TB 2011-12-27 11:27:10 +01:00
poll.h
posix_types.h
processor.h treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
ptrace.h Audit: push audit success and retcode into arch ptrace.h 2012-01-17 16:16:56 -05:00
qdio.h [S390] qdio: fix kernel panic for zfcp 31-bit 2011-12-27 11:27:14 +01:00
qeth.h
reset.h [S390] kdump backend code 2011-10-30 15:16:42 +01:00
resource.h
rwsem.h
scatterlist.h
schid.h
sclp.h
scsw.h
seccomp.h
sections.h
segment.h
sembuf.h
setup.h [S390] avoid STCKF if running in ESA mode 2011-11-14 11:19:09 +01:00
sfp-machine.h
sfp-util.h [S390] sparse: fix sparse warnings in math-emu 2011-10-30 15:16:46 +01:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h [S390] rework smp code 2012-03-11 11:59:28 -04:00
socket.h net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
sockios.h
sparsemem.h [S390] add support for physical memory > 4TB 2011-12-27 11:27:10 +01:00
spinlock_types.h
spinlock.h [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
stat.h
statfs.h
string.h
swab.h
syscall.h [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
sysinfo.h
system.h [S390] sysctl: get rid of dead declaration 2011-12-27 11:27:14 +01:00
tape390.h
termbits.h
termios.h
thread_info.h freezer: remove now unused TIF_FREEZE 2011-11-21 12:32:25 -08:00
timer.h
timex.h [S390] avoid STCKF if running in ESA mode 2011-11-14 11:19:09 +01:00
tlb.h [S390] use generic RCU page-table freeing code 2011-06-06 14:14:56 +02:00
tlbflush.h [S390] add missing __tlb_flush_global() for !CONFIG_SMP 2011-10-30 15:16:47 +01:00
topology.h [S390] topology: increase poll frequency if change is anticipated 2011-12-27 11:27:12 +01:00
types.h consolidate umode_t declarations 2012-01-03 22:55:17 -05:00
uaccess.h
ucontext.h
unaligned.h
unistd.h [S390] ipc: call generic sys_ipc demultiplexer 2011-12-27 11:27:13 +01:00
user.h
vdso.h [S390] rework smp code 2012-03-11 11:59:28 -04:00
vtoc.h
xor.h
zcrypt.h