Message ID | 1347976422-2859-1-git-send-email-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | eb99c9a993cc45f431a0b755595c8536aa947ace |
Headers | show |
On 18 September 2012 17:53, Stefan Weil <sw@weilnetz.de> wrote: > What about moving the ctz32 function (or even all of host-utils.h) to > bitops.h? I guess that would make some sense, though I'm not generally a huge fan of shuffling code around. (bitops.h and host-utils.h are not under the same license terms, which might complicate things slightly.) -- PMM
Peter Maydell <peter.maydell@linaro.org> writes: > On 18 September 2012 17:53, Stefan Weil <sw@weilnetz.de> wrote: >> What about moving the ctz32 function (or even all of host-utils.h) to >> bitops.h? > > I guess that would make some sense, though I'm not generally > a huge fan of shuffling code around. > > (bitops.h and host-utils.h are not under the same license terms, > which might complicate things slightly.) Have a look at hw/hd-geometry.c for a suitable boilerplate comment.
On Tue, Sep 18, 2012 at 02:53:42PM +0100, Peter Maydell wrote: > Drop the private reimplementation of ctz32() from pflash_cfi0[12] > in favour of using the standard version from host-utils.h. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > hw/pflash_cfi01.c | 37 +------------------------------------ > hw/pflash_cfi02.c | 37 +------------------------------------ > 2 files changed, 2 insertions(+), 72 deletions(-) > > diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c > index d1c7423..00f1cdd 100644 > --- a/hw/pflash_cfi01.c > +++ b/hw/pflash_cfi01.c > @@ -41,6 +41,7 @@ > #include "block.h" > #include "qemu-timer.h" > #include "exec-memory.h" > +#include "host-utils.h" > > #define PFLASH_BUG(fmt, ...) \ > do { \ > @@ -543,42 +544,6 @@ static const MemoryRegionOps pflash_cfi01_ops_le = { > .endianness = DEVICE_NATIVE_ENDIAN, > }; > > -/* Count trailing zeroes of a 32 bits quantity */ > -static int ctz32 (uint32_t n) > -{ > - int ret; > - > - ret = 0; > - if (!(n & 0xFFFF)) { > - ret += 16; > - n = n >> 16; > - } > - if (!(n & 0xFF)) { > - ret += 8; > - n = n >> 8; > - } > - if (!(n & 0xF)) { > - ret += 4; > - n = n >> 4; > - } > - if (!(n & 0x3)) { > - ret += 2; > - n = n >> 2; > - } > - if (!(n & 0x1)) { > - ret++; > -#if 0 /* This is not necessary as n is never 0 */ > - n = n >> 1; > -#endif > - } > -#if 0 /* This is not necessary as n is never 0 */ > - if (!n) > - ret++; > -#endif > - > - return ret; > -} > - > pflash_t *pflash_cfi01_register(target_phys_addr_t base, > DeviceState *qdev, const char *name, > target_phys_addr_t size, > diff --git a/hw/pflash_cfi02.c b/hw/pflash_cfi02.c > index 3e2002e..8cb1549 100644 > --- a/hw/pflash_cfi02.c > +++ b/hw/pflash_cfi02.c > @@ -40,6 +40,7 @@ > #include "qemu-timer.h" > #include "block.h" > #include "exec-memory.h" > +#include "host-utils.h" > > //#define PFLASH_DEBUG > #ifdef PFLASH_DEBUG > @@ -575,42 +576,6 @@ static const MemoryRegionOps pflash_cfi02_ops_le = { > .endianness = DEVICE_NATIVE_ENDIAN, > }; > > -/* Count trailing zeroes of a 32 bits quantity */ > -static int ctz32 (uint32_t n) > -{ > - int ret; > - > - ret = 0; > - if (!(n & 0xFFFF)) { > - ret += 16; > - n = n >> 16; > - } > - if (!(n & 0xFF)) { > - ret += 8; > - n = n >> 8; > - } > - if (!(n & 0xF)) { > - ret += 4; > - n = n >> 4; > - } > - if (!(n & 0x3)) { > - ret += 2; > - n = n >> 2; > - } > - if (!(n & 0x1)) { > - ret++; > -#if 0 /* This is not necessary as n is never 0 */ > - n = n >> 1; > -#endif > - } > -#if 0 /* This is not necessary as n is never 0 */ > - if (!n) > - ret++; > -#endif > - > - return ret; > -} > - > pflash_t *pflash_cfi02_register(target_phys_addr_t base, > DeviceState *qdev, const char *name, > target_phys_addr_t size, Thanks, applied.
diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c index d1c7423..00f1cdd 100644 --- a/hw/pflash_cfi01.c +++ b/hw/pflash_cfi01.c @@ -41,6 +41,7 @@ #include "block.h" #include "qemu-timer.h" #include "exec-memory.h" +#include "host-utils.h" #define PFLASH_BUG(fmt, ...) \ do { \ @@ -543,42 +544,6 @@ static const MemoryRegionOps pflash_cfi01_ops_le = { .endianness = DEVICE_NATIVE_ENDIAN, }; -/* Count trailing zeroes of a 32 bits quantity */ -static int ctz32 (uint32_t n) -{ - int ret; - - ret = 0; - if (!(n & 0xFFFF)) { - ret += 16; - n = n >> 16; - } - if (!(n & 0xFF)) { - ret += 8; - n = n >> 8; - } - if (!(n & 0xF)) { - ret += 4; - n = n >> 4; - } - if (!(n & 0x3)) { - ret += 2; - n = n >> 2; - } - if (!(n & 0x1)) { - ret++; -#if 0 /* This is not necessary as n is never 0 */ - n = n >> 1; -#endif - } -#if 0 /* This is not necessary as n is never 0 */ - if (!n) - ret++; -#endif - - return ret; -} - pflash_t *pflash_cfi01_register(target_phys_addr_t base, DeviceState *qdev, const char *name, target_phys_addr_t size, diff --git a/hw/pflash_cfi02.c b/hw/pflash_cfi02.c index 3e2002e..8cb1549 100644 --- a/hw/pflash_cfi02.c +++ b/hw/pflash_cfi02.c @@ -40,6 +40,7 @@ #include "qemu-timer.h" #include "block.h" #include "exec-memory.h" +#include "host-utils.h" //#define PFLASH_DEBUG #ifdef PFLASH_DEBUG @@ -575,42 +576,6 @@ static const MemoryRegionOps pflash_cfi02_ops_le = { .endianness = DEVICE_NATIVE_ENDIAN, }; -/* Count trailing zeroes of a 32 bits quantity */ -static int ctz32 (uint32_t n) -{ - int ret; - - ret = 0; - if (!(n & 0xFFFF)) { - ret += 16; - n = n >> 16; - } - if (!(n & 0xFF)) { - ret += 8; - n = n >> 8; - } - if (!(n & 0xF)) { - ret += 4; - n = n >> 4; - } - if (!(n & 0x3)) { - ret += 2; - n = n >> 2; - } - if (!(n & 0x1)) { - ret++; -#if 0 /* This is not necessary as n is never 0 */ - n = n >> 1; -#endif - } -#if 0 /* This is not necessary as n is never 0 */ - if (!n) - ret++; -#endif - - return ret; -} - pflash_t *pflash_cfi02_register(target_phys_addr_t base, DeviceState *qdev, const char *name, target_phys_addr_t size,
Drop the private reimplementation of ctz32() from pflash_cfi0[12] in favour of using the standard version from host-utils.h. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/pflash_cfi01.c | 37 +------------------------------------ hw/pflash_cfi02.c | 37 +------------------------------------ 2 files changed, 2 insertions(+), 72 deletions(-)