From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:45954) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R0BA3-0001MM-6B for qemu-devel@nongnu.org; Sun, 04 Sep 2011 07:46:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R0BA1-0006r6-Ly for qemu-devel@nongnu.org; Sun, 04 Sep 2011 07:46:51 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58767) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R0BA1-0006qg-Et for qemu-devel@nongnu.org; Sun, 04 Sep 2011 07:46:49 -0400 Date: Sun, 4 Sep 2011 14:44:56 +0300 From: Alon Levy Message-ID: <20110904114456.GI27006@bow> References: <1315057705-4981-1-git-send-email-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1315057705-4981-1-git-send-email-peter.maydell@linaro.org> Subject: Re: [Qemu-devel] [PATCH] hw/qxl: Fix format string errors List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: patches@linaro.org, qemu-devel@nongnu.org, Gerd Hoffmann On Sat, Sep 03, 2011 at 02:48:25PM +0100, Peter Maydell wrote: > Fix format string errors causing compile failure on 32 bit hosts > when spice is enabled. > Patch looks good. Reviewed-by: Alon Levy > Signed-off-by: Peter Maydell > --- > This fixes the easy parts of the 32 bit compile failures with > spice enabled. It leaves the following two warnings: > hw/qxl.c: In function 'interface_release_resource': > hw/qxl.c:627:46: error: cast to pointer from integer of different size > hw/qxl.c: In function 'qxl_phys2virt': > hw/qxl.c:1003:16: error: cast to pointer from integer of different size > > which appear to be making deeper "pointers are 64 bits" assumptions > that I don't know enough about the spice code to suggest fixes for. > (Throwing in (intptr_t) casts suppresses the warning but seems a > bit icky...) > > Could somebody else take a look at those, please? > Spice server doesn't work for 32 bit machines. So regardless of the fix it should not be possible to enable it for 32 bit builds. I think if it were to work then the casts you suggest would be the simplest assumption, keeping the qxl device structs the same (64 bit address fields). > hw/qxl-logger.c | 2 +- > hw/qxl.c | 8 ++++---- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/hw/qxl-logger.c b/hw/qxl-logger.c > index 74cadba..367aad1 100644 > --- a/hw/qxl-logger.c > +++ b/hw/qxl-logger.c > @@ -224,7 +224,7 @@ void qxl_log_command(PCIQXLDevice *qxl, const char *ring, QXLCommandExt *ext) > if (!qxl->cmdlog) { > return; > } > - fprintf(stderr, "%ld qxl-%d/%s:", qemu_get_clock_ns(vm_clock), > + fprintf(stderr, "%" PRId64 " qxl-%d/%s:", qemu_get_clock_ns(vm_clock), > qxl->id, ring); > fprintf(stderr, " cmd @ 0x%" PRIx64 " %s%s", ext->cmd.data, > qxl_name(qxl_type, ext->cmd.type), > diff --git a/hw/qxl.c b/hw/qxl.c > index 45e2401..1fe0b53 100644 > --- a/hw/qxl.c > +++ b/hw/qxl.c > @@ -959,7 +959,7 @@ static void qxl_add_memslot(PCIQXLDevice *d, uint32_t slot_id, uint64_t delta, > memslot.generation = d->rom->slot_generation = 0; > qxl_rom_set_dirty(d); > > - dprint(d, 1, "%s: slot %d: host virt 0x%" PRIx64 " - 0x%" PRIx64 "\n", > + dprint(d, 1, "%s: slot %d: host virt 0x%lx - 0x%lx\n", > __FUNCTION__, memslot.slot_id, > memslot.virt_start, memslot.virt_end); > > @@ -1090,8 +1090,8 @@ static void qxl_set_mode(PCIQXLDevice *d, int modenr, int loadvm) > .mem = devmem + d->shadow_rom.draw_area_offset, > }; > > - dprint(d, 1, "%s: mode %d [ %d x %d @ %d bpp devmem 0x%lx ]\n", __FUNCTION__, > - modenr, mode->x_res, mode->y_res, mode->bits, devmem); > + dprint(d, 1, "%s: mode %d [ %d x %d @ %d bpp devmem 0x%" PRIx64 " ]\n", > + __func__, modenr, mode->x_res, mode->y_res, mode->bits, devmem); > if (!loadvm) { > qxl_hard_reset(d, 0); > } > @@ -1229,7 +1229,7 @@ async_common: > break; > case QXL_IO_LOG: > if (d->guestdebug) { > - fprintf(stderr, "qxl/guest-%d: %ld: %s", d->id, > + fprintf(stderr, "qxl/guest-%d: %" PRId64 ": %s", d->id, > qemu_get_clock_ns(vm_clock), d->ram->log_buf); > } > break; > -- > 1.7.4.1 > >