On 19.11.2021 17:52, Ayan Kumar Halder wrote: > --- a/xen/arch/arm/decode.c > +++ b/xen/arch/arm/decode.c > @@ -84,6 +84,80 @@ bad_thumb2: > return 1; > } > > +static inline int32_t extract32(uint32_t value, int start, int length) > +{ > + int32_t ret; > + > + if ( !(start >= 0 && length > 0 && length <= 32 - start) ) > + return -EINVAL; > + > + ret = (value >> start) & (~0U >> (32 - length)); > + > + return ret; > +}
In addition to Julien's comment regarding the function parameters - why is the return type int32_t and not uint32_t? Plus as per ./CODING_STYLE it really shouldn't be a fixed width type anyway, but e.g. unsigned int. Jan