alistair23-linux/arch/s390/kernel
Martin Schwidefsky 1f44a22577 s390: convert interrupt handling to use generic hardirq
With the introduction of PCI it became apparent that s390 should
convert to generic hardirqs as too many drivers do not have the
correct dependency for GENERIC_HARDIRQS. On the architecture
level s390 does not have irq lines. It has external interrupts,
I/O interrupts and adapter interrupts. This patch hard-codes all
external interrupts as irq #1, all I/O interrupts as irq #2 and
all adapter interrupts as irq #3. The additional information from
the lowcore associated with the interrupt is stored in the
pt_regs of the interrupt frame, where the interrupt handler can
pick it up. For PCI/MSI interrupts the adapter interrupt handler
scans the relevant bit fields and calls generic_handle_irq with
the virtual irq number for the MSI interrupt.

Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-22 12:20:04 +02:00
..
vdso32
vdso64
.gitignore
asm-offsets.c KVM fixes for 3.11 2013-07-03 13:21:40 -07:00
audit.c
audit.h
base.S
bitmap.c
cache.c s390: delete __cpuinit usage from all s390 files 2013-07-14 19:36:53 -04:00
compat_audit.c
compat_exec_domain.c
compat_linux.c merge compat sys_ipc instances 2013-03-03 23:00:27 -05:00
compat_linux.h merge compat sys_ipc instances 2013-03-03 23:00:27 -05:00
compat_ptrace.h
compat_signal.c s390/signal: Add BEA to compat signal handler parameters 2013-04-17 14:07:35 +02:00
compat_wrapper.S switch compat_sys_sysctl to COMPAT_SYSCALL_DEFINE 2013-05-09 14:53:20 -04:00
cpcmd.c
crash_dump.c s390/kdump: Allow copy_oldmem_page() copy to virtual memory 2013-07-18 13:40:22 +02:00
debug.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
diag.c
dis.c s390/disassembler: prevent endless loop in print_fn_code() 2013-05-07 14:11:55 +02:00
dumpstack.c s390/dumpstack: fix address ranges for asynchronous and panic stack 2013-06-05 17:36:20 +02:00
early.c s390/mem_detect: limit memory detection loop to "mem=" parameter 2013-05-02 15:50:26 +02:00
ebcdic.c
entry.h s390/irq: store interrupt information in pt_regs 2013-06-26 21:10:23 +02:00
entry.S s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
entry64.S s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
ftrace.c s390/ftrace: fix mcount adjustment 2013-05-15 13:09:09 +02:00
head.S s390: add zEC12 code generation support 2012-11-23 11:14:31 +01:00
head31.S
head64.S
head_kdump.S
ipl.c s390/ipl: Fix FCP WWPN and LUN format strings for read 2013-06-24 11:16:34 +02:00
irq.c s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
jump_label.c
kprobes.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
lgr.c
machine_kexec.c s390/kdump: Add PM notifier for kdump 2013-04-15 13:34:44 +02:00
Makefile s390/mem_detect: move memory detection code to mm folder 2013-05-02 15:50:22 +02:00
mcount.S s390/ftrace: fix mcount adjustment 2013-05-15 13:09:09 +02:00
mcount64.S s390/ftrace: fix mcount adjustment 2013-05-15 13:09:09 +02:00
module.c s390/module: fix compile warning 2013-02-28 09:37:13 +01:00
nmi.c s390/time: rename tod clock access functions 2013-02-14 15:55:10 +01:00
os_info.c Include missing linux/slab.h inclusions 2013-04-29 15:42:01 -04:00
perf_cpum_cf.c s390: delete __cpuinit usage from all s390 files 2013-07-14 19:36:53 -04:00
perf_event.c s390/perf: fix compile error (undefined reference sie_exit) 2013-07-26 13:25:22 +02:00
pgm_check.S
process.c s390: Use generic idle loop 2013-04-08 17:39:27 +02:00
processor.c s390: delete __cpuinit usage from all s390 files 2013-07-14 19:36:53 -04:00
ptrace.c s390: replace remaining strict_strtoul() with kstrtoul() 2013-08-22 12:20:00 +02:00
reipl.S
reipl64.S
relocate_kernel.S
relocate_kernel64.S
runtime_instr.c s390/irq: remove split irq fields from /proc/stat 2013-01-08 10:57:07 +01:00
s390_ksyms.c KVM: s390,perf: Detect if perf samples belong to KVM host or guest 2013-06-17 17:10:23 +02:00
sclp.S s390/sclp: fix new line detection 2013-06-05 17:36:21 +02:00
setup.c s390: add support for IBM zBC12 machine 2013-07-26 13:25:21 +02:00
signal.c s390/uaccess: remove pointless access_ok() checks 2013-02-28 09:37:09 +01:00
smp.c s390: delete __cpuinit usage from all s390 files 2013-07-14 19:36:53 -04:00
stacktrace.c
suspend.c s390/hibernate: Save and restore absolute zero pages 2013-04-17 14:07:30 +02:00
swsusp_asm64.S s390/hibernate: Save and restore absolute zero pages 2013-04-17 14:07:30 +02:00
sys_s390.c teach SYSCALL_DEFINE<n> how to deal with long long/unsigned long long 2013-03-03 22:46:22 -05:00
syscalls.S switch compat_sys_sysctl to COMPAT_SYSCALL_DEFINE 2013-05-09 14:53:20 -04:00
sysinfo.c s390: delete __cpuinit usage from all s390 files 2013-07-14 19:36:53 -04:00
time.c s390/time: rename tod clock access functions 2013-02-14 15:55:10 +01:00
topology.c s390/topology: export cpu_topology 2013-01-08 10:57:10 +01:00
traps.c s390/dumpstack: fix call chain walking 2013-04-17 14:07:28 +02:00
vdso.c s390: replace remaining strict_strtoul() with kstrtoul() 2013-08-22 12:20:00 +02:00
vmlinux.lds.S s390/linker skript: discard exit.data at runtime 2013-02-14 15:55:21 +01:00
vtime.c s390: delete __cpuinit usage from all s390 files 2013-07-14 19:36:53 -04:00