KVM: s390: activate GISA for emulated interrupts
authorMichael Mueller <mimu@linux.vnet.ibm.com>
Fri, 23 Jun 2017 12:46:21 +0000 (14:46 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 26 Jan 2018 13:13:57 +0000 (14:13 +0100)
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>
arch/s390/kvm/interrupt.c

index f2dc868..488ecc7 100644 (file)
@@ -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)