On Thu, Sep 04, 2014 at 12:52:26PM +0200, frank.blaschka@xxxxxxxxxx wrote: > +void kvm_s390_gisa_register_alert(struct kvm *kvm, u32 gisc) > +{ > + int bito = BITS_PER_BYTE * 7 + gisc; > + > + set_bit(bito ^ (BITS_PER_LONG - 1), &kvm->arch.iam); > +} Just a very minor nit: you could also use set_bit_inv() & friends. > +static inline u64 kvm_s390_get_base_disp_rxy(struct kvm_vcpu *vcpu) > +{ > + u32 x2 = (vcpu->arch.sie_block->ipa & 0x000f); > + u32 base2 = vcpu->arch.sie_block->ipb >> 28; > + u32 disp2 = ((vcpu->arch.sie_block->ipb & 0x0fff0000) >> 16) + > + ((vcpu->arch.sie_block->ipb & 0xff00) << 4); > + > + return (base2 ? vcpu->run->s.regs.gprs[base2] : 0) + > + (x2 ? vcpu->run->s.regs.gprs[x2] : 0) + (u64)disp2; > +} Not very readable ;) However.. for the RXY instruction format the 20 bit displacement is usually signed and not unsigned like your code seems to treat it. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html