From: Richard Henderson Date: Thu, 14 Feb 2013 01:47:38 +0000 (-0800) Subject: memory: Use non-bitops ctzl X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=5bbf90be97203c472f47da070c0040b464c0460f;p=qmiga%2Fqemu.git memory: Use non-bitops ctzl A memory size of zero is invalid, and so that edge condition does not occur. Signed-off-by: Richard Henderson Reviewed-by: Eric Blake Signed-off-by: Blue Swirl --- diff --git a/memory.c b/memory.c index cd7d5e0cf5..92a2196b7e 100644 --- a/memory.c +++ b/memory.c @@ -855,7 +855,7 @@ static uint64_t memory_region_dispatch_read1(MemoryRegion *mr, } if (!mr->ops->read) { - return mr->ops->old_mmio.read[bitops_ctzl(size)](mr->opaque, addr); + return mr->ops->old_mmio.read[ctz32(size)](mr->opaque, addr); } /* FIXME: support unaligned access */ @@ -908,7 +908,7 @@ static void memory_region_dispatch_write(MemoryRegion *mr, adjust_endianness(mr, &data, size); if (!mr->ops->write) { - mr->ops->old_mmio.write[bitops_ctzl(size)](mr->opaque, addr, data); + mr->ops->old_mmio.write[ctz32(size)](mr->opaque, addr, data); return; }