[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v2 1/6] hw/pci: Use pow2ceil() rather than hand-
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-block] [PATCH v2 1/6] hw/pci: Use pow2ceil() rather than hand-calculation |
Date: |
Wed, 12 Aug 2015 10:35:55 +0300 |
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 <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
> ---
> 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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-block] [PATCH v2 1/6] hw/pci: Use pow2ceil() rather than hand-calculation,
Michael S. Tsirkin <=