summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMichael Mueller <mimu@linux.vnet.ibm.com>2017-06-23 14:46:21 +0200
committerChristian Borntraeger <borntraeger@de.ibm.com>2018-01-26 14:13:57 +0100
commitf180bfdae024b34e71e89dcc82b037dd97f74c3a (patch)
tree68aa4e01cd7fda9769e06556f9ce44ebfe6edd3f /arch
parentKVM: s390: make kvm_s390_get_io_int() aware of GISA (diff)
downloadlinux-f180bfdae024b34e71e89dcc82b037dd97f74c3a.tar.xz
linux-f180bfdae024b34e71e89dcc82b037dd97f74c3a.zip
KVM: s390: activate GISA for emulated interrupts
If the AIV facility is available, a GISA will be used to manage emulated adapter interrupts. Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/kvm/interrupt.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
index f2dc86884ea4..488ecc7ea2a1 100644
--- a/arch/s390/kvm/interrupt.c
+++ b/arch/s390/kvm/interrupt.c
@@ -2842,7 +2842,13 @@ void kvm_s390_gisa_clear(struct kvm *kvm)
void kvm_s390_gisa_init(struct kvm *kvm)
{
- /* not implemented yet */
+ if (!css_general_characteristics.aiv)
+ kvm->arch.gisa = NULL;
+ else {
+ kvm->arch.gisa = &kvm->arch.sie_page2->gisa;
+ VM_EVENT(kvm, 3, "gisa 0x%pK initialized", kvm->arch.gisa);
+ kvm_s390_gisa_clear(kvm);
+ }
}
void kvm_s390_gisa_destroy(struct kvm *kvm)