Patchwork win32: Fix compiler errors from u_int64_t

login
register
mail settings
Submitter Stefan Weil
Date April 1, 2010, 9:56 p.m.
Message ID <1270158985-13119-1-git-send-email-weil@mail.berlios.de>
Download mbox | patch
Permalink /patch/49248/
State New
Headers show

Comments

Stefan Weil - April 1, 2010, 9:56 p.m.
u_int64_t raises compiler error messages:

  CC    libhw32/virtio.o
/qemu/ar7/hw/virtio.c: In function ‘virtio_queue_get_avail_size’:
/qemu/ar7/hw/virtio.c:776: error: ‘u_int64_t’ undeclared (first use in this function)
/qemu/ar7/hw/virtio.c:776: error: (Each undeclared identifier is reported only once
/qemu/ar7/hw/virtio.c:776: error: for each function it appears in.)

Replacing u_int64_t by uint64_t helps.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 hw/vhost.c  |    6 +++---
 hw/virtio.c |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
Anthony Liguori - April 1, 2010, 10 p.m.
On 04/01/2010 04:56 PM, Stefan Weil wrote:
> u_int64_t raises compiler error messages:
>
>    CC    libhw32/virtio.o
> /qemu/ar7/hw/virtio.c: In function ‘virtio_queue_get_avail_size’:
> /qemu/ar7/hw/virtio.c:776: error: ‘u_int64_t’ undeclared (first use in this function)
> /qemu/ar7/hw/virtio.c:776: error: (Each undeclared identifier is reported only once
> /qemu/ar7/hw/virtio.c:776: error: for each function it appears in.)
>
> Replacing u_int64_t by uint64_t helps.
>    

Curious.  What platform/gcc are you on?

Applied.  Thanks.

Regards,

Anthony Liguori

> Cc: Michael S. Tsirkin<mst@redhat.com>
> Cc: Anthony Liguori<aliguori@us.ibm.com>
> Signed-off-by: Stefan Weil<weil@mail.berlios.de>
> ---
>   hw/vhost.c  |    6 +++---
>   hw/virtio.c |    2 +-
>   2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/hw/vhost.c b/hw/vhost.c
> index 1e5bc69..ad2f98a 100644
> --- a/hw/vhost.c
> +++ b/hw/vhost.c
> @@ -357,9 +357,9 @@ static int vhost_virtqueue_set_addr(struct vhost_dev *dev,
>   {
>       struct vhost_vring_addr addr = {
>           .index = idx,
> -        .desc_user_addr = (u_int64_t)(unsigned long)vq->desc,
> -        .avail_user_addr = (u_int64_t)(unsigned long)vq->avail,
> -        .used_user_addr = (u_int64_t)(unsigned long)vq->used,
> +        .desc_user_addr = (uint64_t)(unsigned long)vq->desc,
> +        .avail_user_addr = (uint64_t)(unsigned long)vq->avail,
> +        .used_user_addr = (uint64_t)(unsigned long)vq->used,
>           .log_guest_addr = vq->used_phys,
>           .flags = enable_log ? (1<<  VHOST_VRING_F_LOG) : 0,
>       };
> diff --git a/hw/virtio.c b/hw/virtio.c
> index f54129f..e7657ae 100644
> --- a/hw/virtio.c
> +++ b/hw/virtio.c
> @@ -773,7 +773,7 @@ target_phys_addr_t virtio_queue_get_desc_size(VirtIODevice *vdev, int n)
>   target_phys_addr_t virtio_queue_get_avail_size(VirtIODevice *vdev, int n)
>   {
>       return offsetof(VRingAvail, ring) +
> -        sizeof(u_int64_t) * vdev->vq[n].vring.num;
> +        sizeof(uint64_t) * vdev->vq[n].vring.num;
>   }
>
>   target_phys_addr_t virtio_queue_get_used_size(VirtIODevice *vdev, int n)
>
Michael S. Tsirkin - April 4, 2010, 8:59 a.m.
On Thu, Apr 01, 2010 at 11:56:25PM +0200, Stefan Weil wrote:
> u_int64_t raises compiler error messages:
> 
>   CC    libhw32/virtio.o
> /qemu/ar7/hw/virtio.c: In function ‘virtio_queue_get_avail_size’:
> /qemu/ar7/hw/virtio.c:776: error: ‘u_int64_t’ undeclared (first use in this function)
> /qemu/ar7/hw/virtio.c:776: error: (Each undeclared identifier is reported only once
> /qemu/ar7/hw/virtio.c:776: error: for each function it appears in.)
> 
> Replacing u_int64_t by uint64_t helps.
> 
> Cc: Michael S. Tsirkin <mst@redhat.com>
> Cc: Anthony Liguori <aliguori@us.ibm.com>
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>

Acked-by: Michael S. Tsirkin <mst@redhat.com>

Speaking of which, we have:
/scm/qemu/slirp/slirp.h:typedef uint64_t u_int64_t;

which we probably don't need either?

> ---
>  hw/vhost.c  |    6 +++---
>  hw/virtio.c |    2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/vhost.c b/hw/vhost.c
> index 1e5bc69..ad2f98a 100644
> --- a/hw/vhost.c
> +++ b/hw/vhost.c
> @@ -357,9 +357,9 @@ static int vhost_virtqueue_set_addr(struct vhost_dev *dev,
>  {
>      struct vhost_vring_addr addr = {
>          .index = idx,
> -        .desc_user_addr = (u_int64_t)(unsigned long)vq->desc,
> -        .avail_user_addr = (u_int64_t)(unsigned long)vq->avail,
> -        .used_user_addr = (u_int64_t)(unsigned long)vq->used,
> +        .desc_user_addr = (uint64_t)(unsigned long)vq->desc,
> +        .avail_user_addr = (uint64_t)(unsigned long)vq->avail,
> +        .used_user_addr = (uint64_t)(unsigned long)vq->used,
>          .log_guest_addr = vq->used_phys,
>          .flags = enable_log ? (1 << VHOST_VRING_F_LOG) : 0,
>      };
> diff --git a/hw/virtio.c b/hw/virtio.c
> index f54129f..e7657ae 100644
> --- a/hw/virtio.c
> +++ b/hw/virtio.c
> @@ -773,7 +773,7 @@ target_phys_addr_t virtio_queue_get_desc_size(VirtIODevice *vdev, int n)
>  target_phys_addr_t virtio_queue_get_avail_size(VirtIODevice *vdev, int n)
>  {
>      return offsetof(VRingAvail, ring) +
> -        sizeof(u_int64_t) * vdev->vq[n].vring.num;
> +        sizeof(uint64_t) * vdev->vq[n].vring.num;
>  }
>  
>  target_phys_addr_t virtio_queue_get_used_size(VirtIODevice *vdev, int n)
> -- 
> 1.7.0
Stefan Weil - April 5, 2010, 6:01 p.m.
Michael S. Tsirkin schrieb:
> On Thu, Apr 01, 2010 at 11:56:25PM +0200, Stefan Weil wrote:
>> u_int64_t raises compiler error messages:
>>
>> CC libhw32/virtio.o
>> /qemu/ar7/hw/virtio.c: In function ‘virtio_queue_get_avail_size’:
>> /qemu/ar7/hw/virtio.c:776: error: ‘u_int64_t’ undeclared (first use
>> in this function)
>> /qemu/ar7/hw/virtio.c:776: error: (Each undeclared identifier is
>> reported only once
>> /qemu/ar7/hw/virtio.c:776: error: for each function it appears in.)
>>
>> Replacing u_int64_t by uint64_t helps.
>>
>> Cc: Michael S. Tsirkin <mst@redhat.com>
>> Cc: Anthony Liguori <aliguori@us.ibm.com>
>> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
>
> Acked-by: Michael S. Tsirkin <mst@redhat.com>
>
> Speaking of which, we have:
> /scm/qemu/slirp/slirp.h:typedef uint64_t u_int64_t;
>
> which we probably don't need either?

Right. I'd even prefer replacing all those u_int#_t types
by the standard types uint#_t.

Is that ok, or would you prefer not to touch the slirp code
(which makes heavy use of those types)?

Regards,
Stefan
Michael S. Tsirkin - April 5, 2010, 9:30 p.m.
On Mon, Apr 05, 2010 at 08:01:16PM +0200, Stefan Weil wrote:
> Michael S. Tsirkin schrieb:
> > On Thu, Apr 01, 2010 at 11:56:25PM +0200, Stefan Weil wrote:
> >> u_int64_t raises compiler error messages:
> >>
> >> CC libhw32/virtio.o
> >> /qemu/ar7/hw/virtio.c: In function ‘virtio_queue_get_avail_size’:
> >> /qemu/ar7/hw/virtio.c:776: error: ‘u_int64_t’ undeclared (first use
> >> in this function)
> >> /qemu/ar7/hw/virtio.c:776: error: (Each undeclared identifier is
> >> reported only once
> >> /qemu/ar7/hw/virtio.c:776: error: for each function it appears in.)
> >>
> >> Replacing u_int64_t by uint64_t helps.
> >>
> >> Cc: Michael S. Tsirkin <mst@redhat.com>
> >> Cc: Anthony Liguori <aliguori@us.ibm.com>
> >> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
> >
> > Acked-by: Michael S. Tsirkin <mst@redhat.com>
> >
> > Speaking of which, we have:
> > /scm/qemu/slirp/slirp.h:typedef uint64_t u_int64_t;
> >
> > which we probably don't need either?
> 
> Right. I'd even prefer replacing all those u_int#_t types
> by the standard types uint#_t.
> 
> Is that ok, or would you prefer not to touch the slirp code
> (which makes heavy use of those types)?
> 
> Regards,
> Stefan

I don't think we should modify all of slirp code. However
u_int64_t specifically seems unused.

Patch

diff --git a/hw/vhost.c b/hw/vhost.c
index 1e5bc69..ad2f98a 100644
--- a/hw/vhost.c
+++ b/hw/vhost.c
@@ -357,9 +357,9 @@  static int vhost_virtqueue_set_addr(struct vhost_dev *dev,
 {
     struct vhost_vring_addr addr = {
         .index = idx,
-        .desc_user_addr = (u_int64_t)(unsigned long)vq->desc,
-        .avail_user_addr = (u_int64_t)(unsigned long)vq->avail,
-        .used_user_addr = (u_int64_t)(unsigned long)vq->used,
+        .desc_user_addr = (uint64_t)(unsigned long)vq->desc,
+        .avail_user_addr = (uint64_t)(unsigned long)vq->avail,
+        .used_user_addr = (uint64_t)(unsigned long)vq->used,
         .log_guest_addr = vq->used_phys,
         .flags = enable_log ? (1 << VHOST_VRING_F_LOG) : 0,
     };
diff --git a/hw/virtio.c b/hw/virtio.c
index f54129f..e7657ae 100644
--- a/hw/virtio.c
+++ b/hw/virtio.c
@@ -773,7 +773,7 @@  target_phys_addr_t virtio_queue_get_desc_size(VirtIODevice *vdev, int n)
 target_phys_addr_t virtio_queue_get_avail_size(VirtIODevice *vdev, int n)
 {
     return offsetof(VRingAvail, ring) +
-        sizeof(u_int64_t) * vdev->vq[n].vring.num;
+        sizeof(uint64_t) * vdev->vq[n].vring.num;
 }
 
 target_phys_addr_t virtio_queue_get_used_size(VirtIODevice *vdev, int n)