On 03/21/2017 05:31 PM, Andrew Baumann wrote: > "long" is 32-bits on win32, but we need to promote it to a 64-bit hwaddr > before negating, or else the top half of the address is truncated > > Signed-off-by: Andrew Baumann <andrew.baum...@microsoft.com> > --- > include/hw/virtio/virtio.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h > index 15efcf2..a0a8543 100644 > --- a/include/hw/virtio/virtio.h > +++ b/include/hw/virtio/virtio.h > @@ -34,7 +34,7 @@ struct VirtQueue; > static inline hwaddr vring_align(hwaddr addr, > unsigned long align) > { > - return (addr + align - 1) & ~(align - 1); > + return (addr + align - 1) & ~(hwaddr)(align - 1);
Why not just use the QEMU_ALIGN_DOWN macro, instead of open-coding it? (Hmm - a good BiteSized task might be to come up with a Coccinelle script to help replace all open-coded rounding functions with appropriate macro calls instead) -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature