s390/pci: provide support for CPU directed interrupts
Up until now all interrupts on s390 have been floating. For MSI interrupts we've used a global summary bit vector (with a bit for each function) and a per-function interrupt bit vector (with a bit per MSI). This patch introduces a new IRQ delivery mode: CPU directed interrupts. In this new mode a per-CPU interrupt bit vector is used (with a bit per MSI per function). Further it is now possible to direct an IRQ to a specific CPU so we can finally support IRQ affinity. If an interrupt can't be delivered because the appointed CPU is occupied by a hypervisor the interrupt is delivered floating. For this a global summary bit vector is used (with a bit per CPU). Signed-off-by:Sebastian Ott <sebott@linux.ibm.com> Signed-off-by:
Martin Schwidefsky <schwidefsky@de.ibm.com>
Showing
- arch/s390/include/asm/pci.h 2 additions, 0 deletionsarch/s390/include/asm/pci.h
- arch/s390/include/asm/pci_clp.h 5 additions, 1 deletionarch/s390/include/asm/pci_clp.h
- arch/s390/include/asm/pci_insn.h 63 additions, 11 deletionsarch/s390/include/asm/pci_insn.h
- arch/s390/pci/pci_insn.c 6 additions, 4 deletionsarch/s390/pci/pci_insn.c
- arch/s390/pci/pci_irq.c 292 additions, 47 deletionsarch/s390/pci/pci_irq.c
Loading
Please register or sign in to comment