Message ID | 20180125170608.38276-5-borntraeger@de.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 25.01.2018 18:06, Christian Borntraeger wrote: > From: Michael Mueller <mimu@linux.vnet.ibm.com> > > 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> > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> > --- > arch/s390/kvm/interrupt.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c > index 1a561ad..ec4b7bf 100644 > --- a/arch/s390/kvm/interrupt.c > +++ b/arch/s390/kvm/interrupt.c > @@ -2840,7 +2840,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 { Hmm, isn't it NULL as default? if (css_general_characteristics.aiv) { ... Anyhow, Reviewed-by: David Hildenbrand <david@redhat.com> > + 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) >
On 01/25/2018 06:38 PM, David Hildenbrand wrote: > On 25.01.2018 18:06, Christian Borntraeger wrote: >> From: Michael Mueller <mimu@linux.vnet.ibm.com> >> >> 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> >> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> >> --- >> arch/s390/kvm/interrupt.c | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c >> index 1a561ad..ec4b7bf 100644 >> --- a/arch/s390/kvm/interrupt.c >> +++ b/arch/s390/kvm/interrupt.c >> @@ -2840,7 +2840,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 { > > Hmm, isn't it NULL as default? > > if (css_general_characteristics.aiv) { Indeed kvm arch is zero allocated. Will drop. > > ... > > Anyhow, > > Reviewed-by: David Hildenbrand <david@redhat.com> Thanks. I will add these patches for my next pull request for the next merge window. Last chance to review the other patches (see v2). > >> + 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) >> > >
On Thu, 25 Jan 2018 18:06:08 +0100 Christian Borntraeger <borntraeger@de.ibm.com> wrote: > From: Michael Mueller <mimu@linux.vnet.ibm.com> > > 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> > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> > --- > arch/s390/kvm/interrupt.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) Reviewed-by: Cornelia Huck <cohuck@redhat.com>
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index 1a561ad..ec4b7bf 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c @@ -2840,7 +2840,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)