From 5bbf90be97203c472f47da070c0040b464c0460f Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 13 Feb 2013 17:47:38 -0800 Subject: [PATCH] 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 --- memory.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; } -- 2.34.1