On Tue, Nov 11, 2014 at 12:17:17PM +0000, Peter Maydell wrote:
> On 11 November 2014 12:10, Frank Blaschka <blasc...@linux.vnet.ibm.com> wrote:
> > On Mon, Nov 10, 2014 at 04:56:21PM +0100, Alexander Graf wrote:
> >> > +static uint8_t barsize(uint64_t size)
> >> > +{
> >> > +    uint64_t mask = 1;
> >> > +    int i;
> >> > +
> >> > +    if (!size) {
> >> > +        return 0;
> >> > +    }
> >> > +
> >> > +    for (i = 0; i < 64; i++) {
> >> > +        if (size & mask) {
> >> > +            break;
> >> > +        }
> >> > +        mask = (mask << 1);
> >> > +    }
> >> > +
> >> > +    return i;
> >> > +}
> >>
> >> Isn't there an existing helper for this in the PCI layer?
> >>
> >
> > Did not find one, this function is used to fill a s390 specific len
> > in an instruction intercept (architecture specific encoding of the len).
> 
> If you do need to implement this here then you should probably
> be using ctz64(). I think what you have here is equivalent to
> 
>     return size ? ctz64(size) : 0;
> 
> but you should check that.

will do thx!

> 
> thanks
> -- PMM
> 


Reply via email to