qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Kevin Wolf <kwolf@redhat.com>,
	qemu-block@nongnu.org, patches@linaro.org, qemu-devel@nongnu.org,
	Keith Busch <keith.busch@intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 1/6] hw/pci: Use pow2ceil() rather than hand-calculation
Date: Wed, 12 Aug 2015 10:35:55 +0300	[thread overview]
Message-ID: <20150812103544-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <1437741192-20955-2-git-send-email-peter.maydell@linaro.org>

On Fri, Jul 24, 2015 at 01:33:07PM +0100, Peter Maydell wrote:
> A couple of places in hw/pci use an inline calculation to round a
> size up to the next largest power of 2. We have a utility routine
> for this, so use it.
> 
> (The behaviour of the old code is different if the size value
> is 0 -- it would leave it as 0 rather than rounding up to 1,
> but in both cases we know the size can't be 0.
> In the case where the size value had bit 31 set, the old code
> would invoke undefined behaviour; the new code will give a
> result of 0. Presumably that could never happen either.)
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

> ---
>  hw/pci/msix.c | 4 +---
>  hw/pci/pci.c  | 4 +---
>  2 files changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/pci/msix.c b/hw/pci/msix.c
> index 7716bf3..2fdada4 100644
> --- a/hw/pci/msix.c
> +++ b/hw/pci/msix.c
> @@ -314,9 +314,7 @@ int msix_init_exclusive_bar(PCIDevice *dev, unsigned short nentries,
>          bar_size = bar_pba_offset + bar_pba_size;
>      }
>  
> -    if (bar_size & (bar_size - 1)) {
> -        bar_size = 1 << qemu_fls(bar_size);
> -    }
> +    bar_size = pow2ceil(bar_size);
>  
>      name = g_strdup_printf("%s-msix", dev->name);
>      memory_region_init(&dev->msix_exclusive_bar, OBJECT(dev), name, bar_size);
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index a017614..502da8d 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -2065,9 +2065,7 @@ static void pci_add_option_rom(PCIDevice *pdev, bool is_default_rom,
>          g_free(path);
>          return;
>      }
> -    if (size & (size - 1)) {
> -        size = 1 << qemu_fls(size);
> -    }
> +    size = pow2ceil(size);
>  
>      vmsd = qdev_get_vmsd(DEVICE(pdev));
>  
> -- 
> 1.9.1

  reply	other threads:[~2015-08-12  7:36 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-24 12:33 [Qemu-devel] [PATCH v2 0/6] replace qemu_fls() with pow2ceil()/pow2floor() Peter Maydell
2015-07-24 12:33 ` [Qemu-devel] [PATCH v2 1/6] hw/pci: Use pow2ceil() rather than hand-calculation Peter Maydell
2015-08-12  7:35   ` Michael S. Tsirkin [this message]
2015-07-24 12:33 ` [Qemu-devel] [PATCH v2 2/6] hw/virtio/virtio-pci: " Peter Maydell
2015-08-12  7:36   ` Michael S. Tsirkin
2015-07-24 12:33 ` [Qemu-devel] [PATCH v2 3/6] hw/block/nvme.c: " Peter Maydell
2015-08-14 23:41   ` Paolo Bonzini
2015-07-24 12:33 ` [Qemu-devel] [PATCH v2 4/6] exec.c: Use pow2floor() " Peter Maydell
2015-08-14 23:41   ` Paolo Bonzini
2015-07-24 12:33 ` [Qemu-devel] [PATCH v2 5/6] Remove unused qemu_fls function Peter Maydell
2015-08-14 23:41   ` Paolo Bonzini
2015-07-24 12:33 ` [Qemu-devel] [PATCH v2 6/6] Make pow2ceil() and pow2floor() inline Peter Maydell
2015-08-14 23:42   ` Paolo Bonzini
2015-08-14 10:11 ` [Qemu-devel] [PATCH v2 0/6] replace qemu_fls() with pow2ceil()/pow2floor() Peter Maydell
2015-09-07 11:04 ` Peter Maydell
2015-09-07 12:34   ` Paolo Bonzini
2015-09-07 15:07     ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150812103544-mutt-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=keith.busch@intel.com \
    --cc=kwolf@redhat.com \
    --cc=patches@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).