[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <5fbd4e59-c177-20de-4be5-6891398a2984@linux.ibm.com>
Date: Thu, 20 Dec 2018 11:09:54 +0100
From: Michael Mueller <mimu@...ux.ibm.com>
To: KVM Mailing List <kvm@...r.kernel.org>
Cc: Linux-S390 Mailing List <linux-s390@...r.kernel.org>,
linux-kernel@...r.kernel.org,
Martin Schwidefsky <schwidefsky@...ibm.com>,
Heiko Carstens <heiko.carstens@...ibm.com>,
Christian Borntraeger <borntraeger@...ibm.com>,
Janosch Frank <frankja@...ux.ibm.com>,
David Hildenbrand <david@...hat.com>,
Cornelia Huck <cohuck@...hat.com>,
Halil Pasic <pasic@...ux.ibm.com>,
Pierre Morel <pmorel@...ux.ibm.com>
Subject: Re: [PATCH v5 05/15] KVM: s390: unify pending_irqs() and
pending_irqs_no_gisa()
On 19.12.18 20:17, Michael Mueller wrote:
>
> -static inline unsigned long pending_irqs(struct kvm_vcpu *vcpu)
> -{
> - return pending_irqs_no_gisa(vcpu) |
> - kvm_s390_gisa_get_ipm(vcpu->kvm->arch.gisa) << IRQ_PEND_IO_ISC_7;
> + if (irq_flags & IRQ_FLAG_LOCAL)
> + pending_irqs |= vcpu->arch.local_int.pending_irqs;
> + if (irq_flags & IRQ_FLAG_FLOATING)
> + pending_irqs |= vcpu->kvm->arch.float_int.pending_irqs;
> + if (irq_flags & IRQ_FLAG_GISA)
Fix crash under vsie:
pending_irqs |= vcpu->kvm->arch.float_int.pending_irqs;
- if (irq_flags & IRQ_FLAG_GISA)
+ if (vcpu->kvm->arch.gisa && irq_flags & IRQ_FLAG_GISA)
pending_irqs |= get_ipm(vcpu->kvm->arch.gisa, irq_flags)
> + pending_irqs |= kvm_s390_gisa_get_ipm(vcpu->kvm->arch.gisa) <<
> + IRQ_PEND_IO_ISC_7;
> + return pending_irqs;
> }
--
Mit freundlichen Grüßen / Kind regards
Michael Müller
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Matthias Hartmann
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
Powered by blists - more mailing lists