From 51b3e5b5d95ad602e0cd32730e58b60fba679a62 Mon Sep 17 00:00:00 2001 From: benyamin-codez <115509179+benyamin-codez@users.noreply.github.com> Date: Tue, 8 Oct 2024 12:24:21 +1100 Subject: [PATCH] [VirtIO] Define and use VQ_ADD_BUFFER_SUCCESS Define VQ_ADD_BUFFER_SUCCESS in VirtIO\virtio_ring.h Update return code on success in virtqueue_add_buf() routines to use VQ_ADD_BUFFER_SUCCESS. These are: virtqueue_add_buf_split() in VirtIO\VirtIORing.c virtqueue_add_buf_packed() in VirtIO\VirtIORing-Packed.c Signed-off-by: benyamin-codez <115509179+benyamin-codez@users.noreply.github.com> --- VirtIO/VirtIORing-Packed.c | 2 +- VirtIO/VirtIORing.c | 2 +- VirtIO/virtio_ring.h | 2 ++ vioscsi/helper.h | 3 +-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/VirtIO/VirtIORing-Packed.c b/VirtIO/VirtIORing-Packed.c index 872ad2d23..17ffe1f89 100644 --- a/VirtIO/VirtIORing-Packed.c +++ b/VirtIO/VirtIORing-Packed.c @@ -288,7 +288,7 @@ static int virtqueue_add_buf_packed( DPrintf(5, "Added buffer head @%i+%d to Q%d\n", head, descs_used, vq->vq.index); } - return 0; + return VQ_ADD_BUFFER_SUCCESS; } static void detach_buf_packed(struct virtqueue_packed *vq, unsigned int id) diff --git a/VirtIO/VirtIORing.c b/VirtIO/VirtIORing.c index 612981b48..1053d494b 100644 --- a/VirtIO/VirtIORing.c +++ b/VirtIO/VirtIORing.c @@ -296,7 +296,7 @@ static int virtqueue_add_buf_split( vring->avail->idx = ++vq->master_vring_avail.idx; vq->num_added_since_kick++; - return 0; + return VQ_ADD_BUFFER_SUCCESS; } /* Gets the opaque pointer associated with a returned buffer, or NULL if no buffer is available */ diff --git a/VirtIO/virtio_ring.h b/VirtIO/virtio_ring.h index e710da5f1..21ca5524f 100644 --- a/VirtIO/virtio_ring.h +++ b/VirtIO/virtio_ring.h @@ -44,6 +44,8 @@ * at the end of the used ring. Guest should ignore the used->flags field. */ #define VIRTIO_RING_F_EVENT_IDX 29 +#define VQ_ADD_BUFFER_SUCCESS 0 + void vring_transport_features(VirtIODevice *vdev, u64 *features); unsigned long vring_size(unsigned int num, unsigned long align, bool packed); diff --git a/vioscsi/helper.h b/vioscsi/helper.h index 408b20b4a..baba876cf 100755 --- a/vioscsi/helper.h +++ b/vioscsi/helper.h @@ -40,6 +40,7 @@ #include "osdep.h" #include "virtio_pci.h" +#include "virtio_ring.h" #include "vioscsi.h" #define CHECKBIT(value, nbit) virtio_is_feature_enabled(value, nbit) @@ -49,8 +50,6 @@ #define CACHE_LINE_SIZE 64 #define ROUND_TO_CACHE_LINES(Size) (((ULONG_PTR)(Size) + CACHE_LINE_SIZE - 1) & ~(CACHE_LINE_SIZE - 1)) -#define VQ_ADD_BUFFER_SUCCESS 0 - #include // Note: SrbGetCdbLength is defined in srbhelper.h