On 5 April 2013 09:43, Peter Crosthwaite <peter.crosthwa...@xilinx.com> wrote:
> Little macro that just gives you N ones (justified to LSB).
>
> Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com>
> ---
>
>  include/qemu/bitops.h |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/include/qemu/bitops.h b/include/qemu/bitops.h
> index affcc96..da47fc8 100644
> --- a/include/qemu/bitops.h
> +++ b/include/qemu/bitops.h
> @@ -273,4 +273,6 @@ static inline uint64_t deposit64(uint64_t value, int 
> start, int length,
>      return (value & ~mask) | ((fieldval << start) & mask);
>  }
>
> +#define ONES(num) ((num) == 64 ? ~0ull : (1ull << (num)) - 1)

You can avoid the ?: here (assuming you're happy to say that
ONES(0) is a silly thing to ask for):

#define ONES(num) (~0ULL >> (64 - (num)))

Needs a documentation comment, anyway.

thanks
-- PMM

Reply via email to