Re: [PATCH 1/1] KVM: s390: fix LPSWEY handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 28, 2024 at 04:53:20PM +0200, Christian Borntraeger wrote:
> > > +static inline u64 kvm_s390_get_base_disp_siy(struct kvm_vcpu *vcpu, u8 *ar)
> > > +{
> > > +	u32 base1 = vcpu->arch.sie_block->ipb >> 28;
> > > +	u32 disp1 = ((vcpu->arch.sie_block->ipb & 0x0fff0000) >> 16) +
> > > +			((vcpu->arch.sie_block->ipb & 0xff00) << 4);
> > > +
> > > +	/* The displacement is a 20bit _SIGNED_ value */
> > > +	if (disp1 & 0x80000)
> > > +		disp1+=0xfff00000;
> > > +
> > > +	if (ar)
> > > +		*ar = base1;
> > > +
> > > +	return (base1 ? vcpu->run->s.regs.gprs[base1] : 0) + (long)(int)disp1;
> > > +}
> > 
> > You may want to use sign_extend32() or sign_extend64() instead of open-coding.
> 
> Something like sign_extend64(disp1, 31)
> I actually find that harder to read, but I am open for other opinions.

Feel free to ignore my suggestion. It was just a comment that this
helper exists. If you prefer the open-coded variant then that's fine
too of course.




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux