On 24/10/2019 13.40, Janosch Frank wrote: > From: Michael Mueller <mimu@xxxxxxxxxxxxx> > > The patch implements interruption injection for the following > list of interruption types: > > - I/O > __deliver_io (III) > > - External > __deliver_cpu_timer (IEI) > __deliver_ckc (IEI) > __deliver_emergency_signal (IEI) > __deliver_external_call (IEI) > __deliver_service (IEI) > > - cpu restart > __deliver_restart (IRI) > > Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxx> > Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> [interrupt masking] > --- [...] > diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c > index 165dea4c7f19..c919dfe4dfd3 100644 > --- a/arch/s390/kvm/interrupt.c > +++ b/arch/s390/kvm/interrupt.c > @@ -324,8 +324,10 @@ static inline int gisa_tac_ipm_gisc(struct kvm_s390_gisa *gisa, u32 gisc) > > static inline unsigned long pending_irqs_no_gisa(struct kvm_vcpu *vcpu) > { > - return vcpu->kvm->arch.float_int.pending_irqs | > - vcpu->arch.local_int.pending_irqs; > + unsigned long pending = vcpu->kvm->arch.float_int.pending_irqs | vcpu->arch.local_int.pending_irqs; The line is now pretty long, way more than 80 columns ... maybe keep it on two lines? > + > + pending &= ~vcpu->kvm->arch.float_int.masked_irqs; > + return pending; > } [...] > @@ -533,7 +549,6 @@ static int __must_check __deliver_pfault_init(struct kvm_vcpu *vcpu) > trace_kvm_s390_deliver_interrupt(vcpu->vcpu_id, > KVM_S390_INT_PFAULT_INIT, > 0, ext.ext_params2); > - > rc = put_guest_lc(vcpu, EXT_IRQ_CP_SERVICE, (u16 *) __LC_EXT_INT_CODE); > rc |= put_guest_lc(vcpu, PFAULT_INIT, (u16 *) __LC_EXT_CPU_ADDR); > rc |= write_guest_lc(vcpu, __LC_EXT_OLD_PSW, I think you can drop this hunk. Thomas