OSDN Git Service

vdpa: Introduce cursors to vhost_vdpa_net_loadx()
authorHawkins Jiawei <yin31149@gmail.com>
Fri, 13 Oct 2023 08:09:40 +0000 (16:09 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 18 Oct 2023 14:41:50 +0000 (10:41 -0400)
commit1d7e2a8fd4996fdb20d74fce41fe897311f3b06a
treed6405cf54f0407ba78bf18f64dc5ee7e1ab4dcf4
parenta864a3219d7e63569583d204c12bff2a0f90463e
vdpa: Introduce cursors to vhost_vdpa_net_loadx()

This patch introduces two new arugments, `out_cursor`
and `in_cursor`, to vhost_vdpa_net_loadx(). Addtionally,
it includes a helper function
vhost_vdpa_net_load_cursor_reset() for resetting these
cursors.

Furthermore, this patch refactors vhost_vdpa_net_load_cmd()
so that vhost_vdpa_net_load_cmd() prepares buffers
for the device using the cursors arguments, instead
of directly accesses `s->cvq_cmd_out_buffer` and
`s->status` fields.

By making these change, next patches in this series
can refactor vhost_vdpa_net_load_cmd() directly to
iterate through the control commands shadow buffers,
allowing QEMU to send CVQ state load commands in parallel
at device startup.

Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
Message-Id: <1c6516e233a14cc222f0884e148e4e1adceda78d.1697165821.git.yin31149@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
net/vhost-vdpa.c