* [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).