OpenCloudOS-Kernel/arch/s390/kvm
David Hildenbrand 634790b827 KVM: s390: migration / injection of prog irq ilc
We have to migrate the program irq ilc and someday we will have to
specify the ilc without KVM trying to autodetect the value.

Let's reuse one of the spare fields in our program irq that should
always be set to 0 by user space. Because we also want to make use
of 0 ilcs ("not available"), we need a validity indicator.

If no valid ilc is given, we try to autodetect the ilc via the current
icptcode and icptstatus + parameter and store the valid ilc in the
irq structure.

This has a nice effect: QEMU's making use of KVM_S390_IRQ /
KVM_S390_SET_IRQ_STATE / KVM_S390_GET_IRQ_STATE for migration will
directly migrate the ilc without any changes.

Please note that we use bit 0 as validity and bit 1,2 for the ilc, so
by applying the ilc mask we directly get the ilen which is usually what
we work with.

Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2016-02-10 13:12:50 +01:00
..
Kconfig KVM: s390: Enable the KVM-VFIO device 2016-01-26 15:40:17 +01:00
Makefile KVM: s390: Enable the KVM-VFIO device 2016-01-26 15:40:17 +01:00
diag.c KVM: Use common function for VCPU lookup by id 2015-11-30 12:47:04 +01:00
gaccess.c KVM: s390: Introduce switching code 2015-11-30 12:47:08 +01:00
gaccess.h KVM: s390: Add MEMOP ioctls for reading/writing guest memory 2015-03-17 16:26:24 +01:00
guestdbg.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
intercept.c KVM: s390: PSW forwarding / rewinding / ilc rework 2016-02-10 13:12:49 +01:00
interrupt.c KVM: s390: migration / injection of prog irq ilc 2016-02-10 13:12:50 +01:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
kvm-s390.c KVM: s390: PSW forwarding / rewinding / ilc rework 2016-02-10 13:12:49 +01:00
kvm-s390.h KVM: s390: PSW forwarding / rewinding / ilc rework 2016-02-10 13:12:49 +01:00
priv.c KVM: s390: PSW forwarding / rewinding / ilc rework 2016-02-10 13:12:49 +01:00
sigp.c KVM: s390: fix wrong lookup of VCPUs by array index 2015-11-19 14:47:43 +01:00
trace-s390.h KVM: s390: obey kptr_restrict in traces 2015-12-15 17:06:32 +01:00
trace.h KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00