qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit ho


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] hw/qxl.c: Fix compilation failures on 32 bit hosts
Date: Fri, 16 Mar 2012 15:37:27 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20120207 Iceowl/1.0b1 Icedove/3.0.11

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<address@hidden>
Signed-off-by: Peter Maydell<address@hidden>
---
  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 <address@hidden>

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:




reply via email to

[Prev in Thread] Current Thread [Next in Thread]