From: "Michael S. Tsirkin" <mst@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Stefan Weil <sw@weilnetz.de>,
thuth@redhat.com, QEMU Developer <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] linux-headers: Fix type cast warning for 64 bit MinGW-w64
Date: Wed, 9 Sep 2015 09:43:47 +0300 [thread overview]
Message-ID: <20150909094310-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <CAFEAcA9O2=Bw+vA0sfz9teuOSFCjhUZHtBWc-iM4+PL5Xt0wgQ@mail.gmail.com>
On Tue, Sep 08, 2015 at 08:15:50PM +0100, Peter Maydell wrote:
> On 8 September 2015 at 20:11, Stefan Weil <sw@weilnetz.de> wrote:
> > Type casts from pointers to unsigned long don't work on 64 bit Windows
> > because both types have different size.
> >
> > Compiler warning:
> >
> > include/standard-headers/linux/virtio_ring.h:146:23:
> > warning: cast from pointer to integer of different size
> > [-Wpointer-to-int-cast]
> > vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + ...
> > ^
> >
> > Signed-off-by: Stefan Weil <sw@weilnetz.de>
> > ---
> >
> > This is a modification of a Linux header file,
> > something we usually try to avoid.
> >
> > I did not succeed in removing this header from compilations
> > for Windows (which would have been the best solution).
>
> No, this header is supposed to work everywhere (that's why
> it's in standard-headers/ rather than linux-headers),
> because virtio devices must work everywhere. We need to
> improve the process which creates it from the kernel header
> by automatedly fixing up non-portable constructs
> (which is handled by scripts/update-linux-headers.sh).
> Some extra seddery in cp_virtio() is probably required.
>
> thanks
> -- PMM
commit d768f32aec8c0ebb8499ffca89cfed8f5f1a4432
Author: Thomas Huth <thuth@redhat.com>
Date: Thu Jul 2 09:21:22 2015 +0200
virtio: Fix typecast of pointer in vring_init()
The virtio_ring.h header is used in userspace programs (ie. QEMU),
too. Here we can not assume that sizeof(pointer) is the same as
sizeof(long), e.g. when compiling for Windows, so the typecast in
vring_init() should be done with (uintptr_t) instead of (unsigned long).
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fixed this, so it's just a question of updating from latest linux.
--
MST
prev parent reply other threads:[~2015-09-09 6:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-08 19:11 [Qemu-devel] [PATCH] linux-headers: Fix type cast warning for 64 bit MinGW-w64 Stefan Weil
2015-09-08 19:15 ` Peter Maydell
2015-09-09 6:43 ` Michael S. Tsirkin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150909094310-mutt-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=sw@weilnetz.de \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).