From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44326) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZIcAI-0003eW-Jw for qemu-devel@nongnu.org; Fri, 24 Jul 2015 08:33:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZIcAE-00004u-Vw for qemu-devel@nongnu.org; Fri, 24 Jul 2015 08:33:26 -0400 From: Peter Maydell Date: Fri, 24 Jul 2015 13:33:06 +0100 Message-Id: <1437741192-20955-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH v2 0/6] replace qemu_fls() with pow2ceil()/pow2floor() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , qemu-block@nongnu.org, "Michael S. Tsirkin" , patches@linaro.org, Keith Busch , Paolo Bonzini 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