We have a qemu_fls() function which is just a silly wrapper around clz32() and which is used in only a handful of places in the codebase. It turns out that all of those are really trying to round up or down to a power of 2, which is something we have utility functions for. This series replaces all the qemu_fls() calls with pow2ceil() or pow2floor(), and then removes the now-unused function.
For the case where you really want to do bit counting rather than just power-of-2 rounding, you should use the clz/clo functions directly. No changes from v1 to v2 except for a new patch 6 which moves the pow2ceil and pow2floor functions to inline. Peter Maydell (6): hw/pci: Use pow2ceil() rather than hand-calculation hw/virtio/virtio-pci: Use pow2ceil() rather than hand-calculation hw/block/nvme.c: Use pow2ceil() rather than hand-calculation exec.c: Use pow2floor() rather than hand-calculation Remove unused qemu_fls function Make pow2ceil() and pow2floor() inline exec.c | 4 +--- hw/block/nvme.c | 2 +- hw/pci/msix.c | 4 +--- hw/pci/pci.c | 4 +--- hw/virtio/virtio-pci.c | 4 +--- include/qemu-common.h | 17 +---------------- include/qemu/host-utils.h | 33 +++++++++++++++++++++++++++++++++ util/cutils.c | 28 ---------------------------- 8 files changed, 39 insertions(+), 57 deletions(-) -- 1.9.1