@@ -48,6 +48,12 @@ bool vring_setup(Vring *vring, VirtIODevice *vdev, int n)
return true;
}
+void vring_restore(Vring *vring, uint16_t last_avail_idx)
+{
+ vring->last_avail_idx = last_avail_idx;
+ vring->last_used_idx = vring->vr.used->idx;
+}
+
void vring_teardown(Vring *vring)
{
hostmem_finalize(&vring->hostmem);
@@ -49,6 +49,7 @@ static inline void vring_set_broken(Vring *vring)
vring->broken = true;
}
+void vring_restore(Vring *vring, uint16_t last_avail_idx);
bool vring_setup(Vring *vring, VirtIODevice *vdev, int n);
void vring_teardown(Vring *vring);
void vring_disable_notification(VirtIODevice *vdev, Vring *vring);