qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts
@ 2012-03-16 13:50 Peter Maydell
  2012-03-16 14:37 ` Stefan Weil
  2012-03-19 12:02 ` Gerd Hoffmann
  0 siblings, 2 replies; 5+ messages in thread
From: Peter Maydell @ 2012-03-16 13:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

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 <steve.langasek@canonical.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 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);
     }
     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:
-- 
1.7.9

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts
  2012-03-16 13:50 [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts Peter Maydell
@ 2012-03-16 14:37 ` Stefan Weil
  2012-03-16 14:56   ` Peter Maydell
  2012-03-19 12:02 ` Gerd Hoffmann
  1 sibling, 1 reply; 5+ messages in thread
From: Stefan Weil @ 2012-03-16 14:37 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, 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<steve.langasek@canonical.com>
> Signed-off-by: Peter Maydell<peter.maydell@linaro.org>
> ---
>   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 <sw@weilnetz.de>

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:
>    

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts
  2012-03-16 14:37 ` Stefan Weil
@ 2012-03-16 14:56   ` Peter Maydell
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2012-03-16 14:56 UTC (permalink / raw)
  To: Stefan Weil; +Cc: qemu-devel, Gerd Hoffmann

On 16 March 2012 14:37, Stefan Weil <sw@weilnetz.de> wrote:
>>          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.

Yes, cookie->io is uint64_t, but I just want to fix compile warnings,
not make functional changes (it might be a semantically signed value
that we happen to be carrying in an unsigned type, for instance).

I agree that we could use PRId32 in theory, but on the other hand
it doesn't cause any compiler warnings and we also use %d for it
elsewhere in the function. I'd rather leave that kind of cleanup
for somebody who wants to deal with it more systematically.

-- PMM

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts
  2012-03-16 13:50 [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts Peter Maydell
  2012-03-16 14:37 ` Stefan Weil
@ 2012-03-19 12:02 ` Gerd Hoffmann
  2012-03-19 13:03   ` Gerd Hoffmann
  1 sibling, 1 reply; 5+ messages in thread
From: Gerd Hoffmann @ 2012-03-19 12:02 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel

On 03/16/12 14:50, Peter Maydell wrote:
> Fix compilation failures on 32 bit hosts (cast from pointer to
> integer of different size; %ld expects 'long int' not uint64_t).

Acked-by: Gerd Hoffmann <kraxel@redhat.com>

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts
  2012-03-19 12:02 ` Gerd Hoffmann
@ 2012-03-19 13:03   ` Gerd Hoffmann
  0 siblings, 0 replies; 5+ messages in thread
From: Gerd Hoffmann @ 2012-03-19 13:03 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel

On 03/19/12 13:02, Gerd Hoffmann wrote:
> On 03/16/12 14:50, Peter Maydell wrote:
>> Fix compilation failures on 32 bit hosts (cast from pointer to
>> integer of different size; %ld expects 'long int' not uint64_t).
> 
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>

Oops, scratch that, should have been "added to spice patch queue".

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-03-19 13:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-16 13:50 [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts Peter Maydell
2012-03-16 14:37 ` Stefan Weil
2012-03-16 14:56   ` Peter Maydell
2012-03-19 12:02 ` Gerd Hoffmann
2012-03-19 13:03   ` Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).