]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: s390: migrate vcpu interrupt state
authorJens Freimann <jfrei@linux.vnet.ibm.com>
Mon, 24 Nov 2014 16:13:46 +0000 (17:13 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 31 Mar 2015 19:07:31 +0000 (21:07 +0200)
commit374bd12301a6d320a8730553a131197abdc74426
tree0be000b61900a44f9dabe81405b145cbb87b761d
parentd4fbce0ae66062dd9a8b38ac4856bddfe64a03a7
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>
Documentation/virtual/kvm/api.txt
arch/s390/kvm/interrupt.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h
include/uapi/linux/kvm.h