linux/arch/s390/kvm
Jens Freimann 816c7667ea KVM: s390: migrate vcpu interrupt state
This patch adds support to migrate vcpu interrupts. Two new vcpu ioctls
are added which get/set the complete status of pending interrupts in one
go. The ioctls are marked as available with the new capability
KVM_CAP_S390_IRQ_STATE.

We can not use a ONEREG, as the number of pending local interrupts is not
constant and depends on the number of CPUs.

To retrieve the interrupt state we add an ioctl KVM_S390_GET_IRQ_STATE.
Its input parameter is a pointer to a struct kvm_s390_irq_state which
has a buffer and length.  For all currently pending interrupts, we copy
a struct kvm_s390_irq into the buffer and pass it to userspace.

To store interrupt state into a buffer provided by userspace, we add an
ioctl KVM_S390_SET_IRQ_STATE. It passes a struct kvm_s390_irq_state into
the kernel and injects all interrupts contained in the buffer.

Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2015-03-31 21:07:31 +02:00
..
diag.c KVM: s390: Guest's memory access functions get access registers 2015-03-17 16:25:04 +01:00
gaccess.c KVM: s390: Add MEMOP ioctls for reading/writing guest memory 2015-03-17 16:26:24 +01:00
gaccess.h KVM: s390: Add MEMOP ioctls for reading/writing guest memory 2015-03-17 16:26:24 +01:00
guestdbg.c KVM: s390: Use the read_guest_abs() in guest debug functions 2015-03-06 13:41:02 +01:00
intercept.c KVM: s390: Guest's memory access functions get access registers 2015-03-17 16:25:04 +01:00
interrupt.c KVM: s390: migrate vcpu interrupt state 2015-03-31 21:07:31 +02:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
kvm-s390.c KVM: s390: migrate vcpu interrupt state 2015-03-31 21:07:31 +02:00
kvm-s390.h KVM: s390: migrate vcpu interrupt state 2015-03-31 21:07:31 +02:00
Makefile KVM: s390: hardware support for guest debugging 2014-04-22 13:24:51 +02:00
priv.c KVM: s390: deliver floating interrupts in order of priority 2015-03-31 21:07:27 +02:00
sigp.c KVM: s390: Guest's memory access functions get access registers 2015-03-17 16:25:04 +01:00
trace-s390.h KVM: s390: handle stop irqs without action_bits 2015-01-23 13:25:33 +01:00
trace.h KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00