linux_dsm_epyc7002/arch/s390/include/asm
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
..
airq.h s390/airq: introduce adapter interrupt vector helper 2013-08-22 12:20:02 +02:00
appldata.h s390/appldata: change return value of appldata_asm 2012-09-26 15:45:15 +02:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
barrier.h s390/barrier: convert mb() to define again 2013-02-14 15:55:11 +01:00
bitops.h s390/bitops: fix find_next_bit_left 2013-07-26 13:25:21 +02:00
bug.h panic: Allow warnings to set different taint flags 2010-05-19 08:36:48 +01:00
bugs.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
cache.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
cacheflush.h module: undo module RONX protection correctly. 2011-05-19 16:55:26 +09:30
ccwdev.h s390/cio: ccw_device_force_console don't use static variable 2013-04-17 14:07:31 +02:00
ccwgroup.h s390/ccwgroup: allow drivers to call set_{on,off}line 2012-11-23 11:14:35 +01:00
checksum.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
chpid.h UAPI Disintegration 2012-10-09 2012-10-09 14:18:10 +02:00
cio.h s390/cio: wait_cons_dev don't use static variable 2013-04-17 14:07:30 +02:00
clp.h s390/pci: cleanup clp page allocation 2013-02-14 15:55:16 +01:00
cmb.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
cmpxchg.h s390/cmpxchg,percpu: implement cmpxchg_double() 2012-09-26 15:45:25 +02:00
compat.h s390/uapi: change struct statfs[64] member types to unsigned values 2013-04-23 10:18:18 +02:00
cpcmd.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
cpu_mf.h Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-03-11 07:54:29 -07:00
cpu.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
cputime.h vtime: Consolidate a bit the ctx switch code 2012-11-19 16:41:32 +01:00
crw.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
css_chars.h s390/css_chars: remove superfluous ifdef 2012-10-09 14:17:00 +02:00
ctl_reg.h s390/headers: replace __s390x__ with CONFIG_64BIT where possible 2012-05-24 10:10:10 +02:00
current.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
debug.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
delay.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
device.h
diag.h [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
div64.h
dma-mapping.h s390/dma: remove gratuitous brackets 2013-06-26 21:10:26 +02:00
dma.h s390/pci: define isa_dma_bridge_buggy 2013-01-08 10:57:09 +01:00
eadm.h s390/scm: process availability 2013-03-07 09:52:24 +01:00
ebcdic.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
elf.h s390: system call path micro optimization 2013-04-26 09:07:05 +02:00
emergency-restart.h
etr.h s390/etr,stp: use -EOPNOTSUPP instead of -ENOSYS 2012-09-26 15:45:14 +02:00
exec.h Disintegrate asm/system.h for S390 2012-03-28 18:30:02 +01:00
extmem.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
facility.h s390/facility: decompose test_facility() 2013-06-26 21:10:25 +02:00
fb.h
fcx.h [S390] cio: update sac values 2008-12-25 13:39:06 +01:00
ftrace.h s390/ftrace: fix mcount adjustment 2013-05-15 13:09:09 +02:00
futex.h s390/uaccess: remove pointless access_ok() checks 2013-02-28 09:37:09 +01:00
hardirq.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
hugetlb.h mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
hw_irq.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
idals.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
io.h s390: remove virt_to_phys implementation 2013-06-26 21:10:02 +02:00
ipl.h [S390] kernel: Add z/VM LGR detection 2012-03-11 11:59:29 -04:00
irq_regs.h
irq.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
irqflags.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
isc.h s390/pci: PCI adapter interrupts for MSI/MSI-X 2012-11-30 17:47:21 +01:00
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 static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]() 2012-02-24 10:05:59 +01:00
Kbuild tracing,x86: Add a TSC trace_clock 2012-11-13 15:48:27 -05:00
kdebug.h [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
kexec.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
kmap_types.h s390/headers: remove #ifdef __KERNEL__ from not exported headers 2012-05-24 10:10:05 +02:00
kprobes.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
kvm_host.h KVM: s390: Renamed PGM_PRIVILEGED_OPERATION 2013-06-20 23:31:04 +02:00
kvm_para.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
linkage.h [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h
lowcore.h s390: add support for transactional memory 2012-09-26 15:45:02 +02:00
mathemu.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
mman.h s390/mm: Fix crst upgrade of mmap with MAP_FIXED 2013-02-14 15:55:22 +01:00
mmu_context.h s390/mm: rename addressing_mode to s390_user_mode 2012-09-26 15:45:05 +02:00
mmu.h [S390] Fix build errors (fallout from system.h disintegration) 2012-03-30 09:41:12 +02:00
module.h Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
mutex.h [S390] mutex: Introduce arch_mutex_cpu_relax() 2011-01-05 12:47:31 +01:00
nmi.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
os_info.h s390/kernel: Remove OS info init function call and diag 308 for kdump 2012-05-23 17:06:50 +02:00
page.h s390: disable pfmf for clear page instruction 2013-05-07 14:11:55 +02:00
pci_clp.h s390/pci: CLP interface 2012-11-30 15:40:47 +01:00
pci_debug.h s390/pci: debug device states 2013-04-17 14:07:35 +02:00
pci_dma.h s390/pci: DMA support 2012-11-30 17:47:23 +01:00
pci_insn.h s390/pci: cleanup function names 2013-08-22 12:20:03 +02:00
pci_io.h s390/pci: cleanup function names 2013-08-22 12:20:03 +02:00
pci.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
percpu.h s390/cmpxchg,percpu: implement cmpxchg_double() 2012-09-26 15:45:25 +02:00
perf_event.h KVM: s390,perf: Detect if perf samples belong to KVM host or guest 2013-06-17 17:10:23 +02:00
pgalloc.h s390/kvm: Provide function for setting the guest storage key 2013-06-26 21:10:04 +02:00
pgtable.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-07-04 10:29:23 -07:00
processor.h s390/ptrace: PTRACE_TE_ABORT_RAND 2013-07-16 12:21:56 +02:00
ptrace.h s390/irq: store interrupt information in pt_regs 2013-06-26 21:10:23 +02:00
qdio.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
reset.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
runtime_instr.h s390: add support for runtime instrumentation 2012-09-26 15:45:02 +02:00
rwsem.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
scatterlist.h [S390] set ARCH_HAS_SG_CHAIN for s390 2010-10-25 16:10:15 +02:00
schid.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
sclp.h s390/mm: implement software dirty bits 2013-02-14 15:55:23 +01:00
scsw.h s390: add eadm related structures 2012-09-26 15:44:57 +02:00
seccomp.h [S390] secure computing arch backend 2009-06-12 10:27:31 +02:00
sections.h
segment.h
serial.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
setup.h s390/mem_detect: remove artificial kdump memory types 2013-05-03 14:21:15 +02:00
sfp-machine.h
sfp-util.h s390/headers: replace __s390x__ with CONFIG_64BIT where possible 2012-05-24 10:10:10 +02:00
shmparam.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
signal.h s390: switch to generic old sigaction() 2013-02-03 18:16:14 -05:00
sigp.h KVM: s390: Fix sigp sense handling. 2012-07-03 14:55:37 -03:00
smp.h s390/smp,topology: add polarization member to pcpu struct 2012-09-26 15:45:09 +02:00
sparsemem.h s390/mm: remove MAX_PHYSADDR_BITS define 2012-08-08 07:32:55 -07:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
string.h s390/string: provide asm lib functions for memcpy and memcmp 2012-09-26 15:44:50 +02:00
switch_to.h s390/ptrace: PTRACE_TE_ABORT_RAND 2013-07-16 12:21:56 +02:00
syscall.h s390: system call path micro optimization 2013-04-26 09:07:05 +02:00
sysinfo.h s390/sysinfo,stsi: change return code handling 2012-09-26 15:45:12 +02:00
termios.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
thread_info.h s390: remove small stack config option 2013-04-26 09:07:08 +02:00
timex.h s390/time: rename tod clock access functions 2013-02-14 15:55:10 +01:00
tlb.h s390: Fix broken build 2013-08-16 21:16:37 -07:00
tlbflush.h s390/mm: fix flush_tlb_kernel_range() 2013-03-05 10:21:36 +01:00
topology.h s390/topology: cleanup topology code 2012-11-23 11:14:31 +01:00
types.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
uaccess.h s390/uaccess: remove pointless access_ok() checks 2013-02-28 09:37:09 +01:00
unaligned.h
unistd.h consolidate cond_syscall and SYSCALL_ALIAS declarations 2013-03-03 22:55:19 -05:00
user.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
vdso.h s390/headers: remove #ifdef __KERNEL__ from not exported headers 2012-05-24 10:10:05 +02:00
vga.h vga: compile fix, disable vga for s390 2012-11-30 17:47:28 +01:00
vtimer.h s390/vtimer: rework virtual timer interface 2012-07-20 11:15:08 +02:00
xor.h