qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 4/4] vhost: convert byte order on avail_event read


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 4/4] vhost: convert byte order on avail_event read
Date: Sat, 29 Oct 2022 00:53:01 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.4.0

On 28/10/22 18:02, Eugenio Pérez wrote:
This causes errors on virtio modern devices on big endian hosts

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
---
  hw/virtio/vhost-shadow-virtqueue.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/virtio/vhost-shadow-virtqueue.c 
b/hw/virtio/vhost-shadow-virtqueue.c
index 18a49e1ecb..3131903edd 100644
--- a/hw/virtio/vhost-shadow-virtqueue.c
+++ b/hw/virtio/vhost-shadow-virtqueue.c
@@ -231,7 +231,8 @@ static void vhost_svq_kick(VhostShadowVirtqueue *svq)
          size_t num = svq->vring.num;
          uint16_t *avail_event = (uint16_t *)&svq->vring.used->ring[num];

  uint16_t avail_event = virtio_lduw_p(svq->vdev,
                                       &svq->vring.used->ring[num]);
  needs_kick = vring_need_event(avail_event,
                                svq->shadow_avail_idx,
                                svq->shadow_avail_idx - 1);

-        needs_kick = vring_need_event(*avail_event, svq->shadow_avail_idx,
+        needs_kick = vring_need_event(le16_to_cpu(*avail_event),
+                                      svq->shadow_avail_idx,
                                        svq->shadow_avail_idx - 1);
      } else {
          needs_kick = !(svq->vring.used->flags & VRING_USED_F_NO_NOTIFY);




reply via email to

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