From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:60921) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S8YHc-0007eU-Nz for qemu-devel@nongnu.org; Fri, 16 Mar 2012 10:37:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S8YHa-0003am-GE for qemu-devel@nongnu.org; Fri, 16 Mar 2012 10:37:32 -0400 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:42517) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S8YHa-0003aZ-65 for qemu-devel@nongnu.org; Fri, 16 Mar 2012 10:37:30 -0400 Message-ID: <4F635027.20009@weilnetz.de> Date: Fri, 16 Mar 2012 15:37:27 +0100 From: Stefan Weil MIME-Version: 1.0 References: <1331905804-11240-1-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1331905804-11240-1-git-send-email-peter.maydell@linaro.org> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: qemu-devel@nongnu.org, Gerd Hoffmann Am 16.03.2012 14:50, schrieb Peter Maydell: > Fix compilation failures on 32 bit hosts (cast from pointer to > integer of different size; %ld expects 'long int' not uint64_t). > > Reported-by: Steve Langasek > Signed-off-by: Peter Maydell > --- > hw/qxl.c | 16 ++++++++-------- > 1 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/hw/qxl.c b/hw/qxl.c > index e17b0e3..47dc383 100644 > --- a/hw/qxl.c > +++ b/hw/qxl.c > @@ -149,7 +149,7 @@ void qxl_spice_update_area(PCIQXLDevice *qxl, uint32_t surface_id, > } else { > assert(cookie != NULL); > spice_qxl_update_area_async(&qxl->ssd.qxl, surface_id, area, > - clear_dirty_region, (uint64_t)cookie); > + clear_dirty_region, (uintptr_t)cookie); > } > } > > @@ -171,7 +171,7 @@ static void qxl_spice_destroy_surface_wait(PCIQXLDevice *qxl, uint32_t id, > cookie = qxl_cookie_new(QXL_COOKIE_TYPE_IO, > QXL_IO_DESTROY_SURFACE_ASYNC); > cookie->u.surface_id = id; > - spice_qxl_destroy_surface_async(&qxl->ssd.qxl, id, (uint64_t)cookie); > + spice_qxl_destroy_surface_async(&qxl->ssd.qxl, id, (uintptr_t)cookie); > } else { > qxl->ssd.worker->destroy_surface_wait(qxl->ssd.worker, id); > qxl_spice_destroy_surface_wait_complete(qxl, id); > @@ -181,8 +181,8 @@ static void qxl_spice_destroy_surface_wait(PCIQXLDevice *qxl, uint32_t id, > static void qxl_spice_flush_surfaces_async(PCIQXLDevice *qxl) > { > spice_qxl_flush_surfaces_async(&qxl->ssd.qxl, > - (uint64_t)qxl_cookie_new(QXL_COOKIE_TYPE_IO, > - QXL_IO_FLUSH_SURFACES_ASYNC)); > + (uintptr_t)qxl_cookie_new(QXL_COOKIE_TYPE_IO, > + QXL_IO_FLUSH_SURFACES_ASYNC)); > } > > void qxl_spice_loadvm_commands(PCIQXLDevice *qxl, struct QXLCommandExt *ext, > @@ -213,8 +213,8 @@ static void qxl_spice_destroy_surfaces(PCIQXLDevice *qxl, qxl_async_io async) > { > if (async) { > spice_qxl_destroy_surfaces_async(&qxl->ssd.qxl, > - (uint64_t)qxl_cookie_new(QXL_COOKIE_TYPE_IO, > - QXL_IO_DESTROY_ALL_SURFACES_ASYNC)); > + (uintptr_t)qxl_cookie_new(QXL_COOKIE_TYPE_IO, > + QXL_IO_DESTROY_ALL_SURFACES_ASYNC)); > } else { > qxl->ssd.worker->destroy_surfaces(qxl->ssd.worker); > qxl_spice_destroy_surfaces_complete(qxl); > @@ -743,7 +743,7 @@ static void interface_async_complete_io(PCIQXLDevice *qxl, QXLCookie *cookie) > } > if (cookie&& current_async != cookie->io) { > fprintf(stderr, > - "qxl: %s: error: current_async = %d != %ld = cookie->io\n", > + "qxl: %s: error: current_async = %d != %" PRId64 " = cookie->io\n", > __func__, current_async, cookie->io); > current_async is uint32_t, so maybe you can also replace %d by %" PRIu32 ". Is io unsigned (I don't have the headers, but think it is)? Then PRIu64 would be better. With these modifications you may add Reviewed-by: Stefan Weil Cheers, Stefan > } > switch (current_async) { > @@ -812,7 +812,7 @@ static void interface_update_area_complete(QXLInstance *sin, > static void interface_async_complete(QXLInstance *sin, uint64_t cookie_token) > { > PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl); > - QXLCookie *cookie = (QXLCookie *)cookie_token; > + QXLCookie *cookie = (QXLCookie *)(uintptr_t)cookie_token; > > switch (cookie->type) { > case QXL_COOKIE_TYPE_IO: >