On 30.07.20 09:49, Stefano Garzarella wrote: > On Wed, Jul 29, 2020 at 06:54:38PM -0600, Bruce Rogers wrote: >> This likely affects other, less popular host architectures as well. >> Less common host architectures under linux get QEMU_VMALLOC_ALIGN (from >> which VIRTIO_MEM_MIN_BLOCK_SIZE is derived) define to a variable of >> type uintptr, which isn't compatible with the format specifier used to >> print a user message. Since this particular usage of the underlying data >> seems unique, the simple fix is to just cast it to the corresponding >> format specifier. >> >> Signed-off-by: Bruce Rogers <brog...@suse.com> >> --- >> hw/virtio/virtio-mem.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c >> index c12e9f79b0..fd01ffd83e 100644 >> --- a/hw/virtio/virtio-mem.c >> +++ b/hw/virtio/virtio-mem.c >> @@ -754,7 +754,7 @@ static void virtio_mem_set_block_size(Object *obj, >> Visitor *v, const char *name, >> >> if (value < VIRTIO_MEM_MIN_BLOCK_SIZE) { >> error_setg(errp, "'%s' property has to be at least 0x%" PRIx32, >> name, >> - VIRTIO_MEM_MIN_BLOCK_SIZE); >> + (unsigned int)VIRTIO_MEM_MIN_BLOCK_SIZE); > > Since we use PRIx32, could be better to cast VIRTIO_MEM_MIN_BLOCK_SIZE > to uint32_t?
Yeah, I guess something like -#define VIRTIO_MEM_MIN_BLOCK_SIZE QEMU_VMALLOC_ALIGN +#define VIRTIO_MEM_MIN_BLOCK_SIZE ((uint32_t)QEMU_VMALLOC_ALIGN) would be cleaner -- Thanks, David / dhildenb